HTML5的绘图支持

1、canvas使用

基本用法


<body>
<h2>画图入门</h2>
<!---设置canvas的高度和宽度--->
<canvas id="mc" width="400" height="280" style="border:1px solid black"> </canvas>
<script type="text/javascript">
<!---获取id为mc的DOM对象-->
var canvas=document.getElementById('mc');
var ctx=canvas.getContext('2d');

ctx.fildStyle='#f00';
ctx.fillRect(30,20,120,60);

ctx.fillStyle="#ff0";
<!---填充一个矩形区域-->
ctx.strokeRect(80,60,120,60);

ctx.storkeStyle="#00f";
<!---设置线条宽度-->
ctx.lineWidth=10;
<!---绘制一个矩形边框-->
ctx.strokeRect(30,130,120,60);
ctx.strokeStyle="#0ff";
<!---线条连接风格-->
ctx.lineJoin="round";


ctx.strokeRect(80,160,120,60);
ctx.storkeStyle="#f0f"; 
ctx.lineJoin="bevel";
ctx.strokeRect(130,190,120,60);

</script>
</body>

执行结果为:

点线模式

<html>
<body>
<h2>点线模式</h2>
	<canvas id="mc" width="400" height="280"style="border:1px solid black">
	
	</canvas><p>

	<select id="lineDash" onchange="changeLineDash(this.value);">
	
	</select><p>

	<input type="range"id="lineDashOffset" style="width:300px"
	onchange="changeLineDashOffset (this.value);"/>
	
	<script type="text/javascript">
		var lineDashArr=[[2,2],
			[2.0,4.0,2.0],
			[2.0,4.0,6.0],
			[2.0,4.0,2.0,6.0],
			[2.0,4.0,4.0],
			[2.0,2.0,4.0,6.0,10.0]];
	var phaseMax=20;
	var phaseMin=-20;
	var lineDashEle=document.getElementById("lineDash"); 
	for(var i=0;i<lineDashArr.length;i++){
		lineDashEle.options[i]=new Option(lineDashArr[i],i);
}
	lineDashEle.options[0].selected=true;
	var lineDashOffsetEle=document.getElementById("lineDashOffset");
	lineDashOffsetEle.max=phaseMax;
	lineDashOffsetEle.min=phaseMin;
	lineDashOffsetEle.step=0.1;
	lineDashOffsetEle.value=0;
	var lineDash=lineDashArr[0];
	var lineDashOffset=0;
	function draw(){
		var canvas=document.getElementById('mc');
		
		var ctx=canvas.getContext('2d');
		ctx.fileStyle="#fff";
		ctx.fileRect=(0,0,400,280);
		ctx.strokeStyle="#f0f";
		ctx.lineWidth=2;
		ctx.setLineDash(lineDash);
		ctx.lineDashOffset=lineDashOffset;
		ctx.strokeRect(40,60,120,120);
		ctx.beginPath();
		ctx.arc(300,120,60,60,0,Math.PI*2,true);
		ctx.moveTo(30,30);
		ctx.lineTo(360,30);
		ctx.moveTo(200,50);
		ctx.lineTo(200,240);
		ctx.closePath();
		ctx.stroke();
	}
	function changeLineDash(i){
		lineDash=lineDashArr[i];
		draw();
	}
	function changeLineDashOffset(val)
	{	
		lineDashOffset=val;
		draw();
	}	
	draw();

</script>
</body>



</html>

运行结果为:

2、设置阴影

shadowBlur设置阴影背景

shadowColor设置阴影颜色

shadowOffsetX,shadowOffsetY设置阴影偏移量

 

简介: 新的 HTML5 规范旨在帮助开发人员更轻松的编写出各类 Web 应用,以顺应当前 SaaS,云计算以及 RIA 等技术的最新趋势。在 HTML5 得以广泛推广之前,开发人员通常使用 SVG,VML 等技术进行 Web 绘图操作,但这些基于 XML 的绘图语言声明式的绘图方式并不能满足复杂绘图操作在性能上的需求,比如 Web 游戏所需要的像素级别的绘图能力。HTML5 canvas 元素的出现填补了这种不足,开发人员可以使用 JavaScript 脚本语言在 canvas 中进行一系列基于命令的图形绘制操作,本文将通过讲解如何使用 canvas 元素进行基本绘图操作,以及完成简单的动画和用户交互任务,阐明 canvas 在帮助构建 Web 图形类应用时所能够提供的能力。更多html5相关信息请关注html5中国:http://www.html5cn.org 背景介绍 HTML5 中新引入的 canvas 元素使得 Web 开发人员在无须借助任何第三方插件(如 Flash,Silverlight)的情况下,可以直接使用 JavaScript 脚本在 Web 页面进行绘图。它首次由苹果公司的 Webkit 框架引入实现,并成功运用在 Safari 浏览器中,读者在 这里可以体验到基于 canvas 的精彩示例。目前,canvas 已成为 HTML5 规范中的事实性标准,并且已经被 Firefox 3.0+, Safari 3.0+, Chrome 3.0+, Opera10.0+ 等浏览器所支持。最近(本文撰写之时),IE 也正式宣称将在其 9.0 版本之后,开始对 canvas 元素进行支持
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值