canvas学习总结
canvas
描述
HTML5 < canvas> 标签用于绘制图像(通过脚本,通常是 JavaScript)。
不过,< canvas>元素本身并没有绘制能力(它仅仅是图形的容器)-必须使用脚本来完成实际的绘图任务。
getContent()方法可返回一个对象,该对象提供了用于在画布上绘图的方法和属性。
浏览器支持情况
Internet Explorer 9、Firefox、Opera、Chrome以及Safari支持< canvas>及其属性和方法。(Internet Explorer 8以及更早的版本不支持< canvas>元素)
1.canvas设置height、width
1.通过html设置
<canvas id="canvas" width="400" height="400"></canvas>
2.通过js设置
<canvas id="canvas"></canvas> <script> var canvas=document.getElementById('canvas'); var cx=canvas.width=400; var cy=canvas=height=400; </script>
3.通过css设置
<canvas id="canvas"></canvas> <style> #canvas{ width:400px; height:400px; } </style> //使用css来设置宽高的画,画布就会按照300*150的比例进行缩放,也就是将300*150的页面显示在400*400的容器中
所以尽量使用HTML的width和height属性或者直接使用js动态设置宽高,不要使用css设置。
获取Canvas对象
创建好canvas标签后就要获取Canvas对象
<canvas id="canvas"></canvas> <script> var canvas=document.getElementById('canvas'); var context=canvas.getContext('2d');//可在画布上绘制文本、线条、矩形、圆形。 </script>
在画布上绘制圆
创建画布
<canvas id="canvas" width="400" height='400'></canvas>
使用arc()画圆
var canvas=document.getElementById('canvas'); var context=canvas.getContext('2d'); context.beginPath()//起始一条路径或重置当前路径 context.arc(90,90,50,Math.PI*2,false)// arc(x,y,r,start,stop) context.strokeStyle="green"//设置或返回用于笔触的颜色、渐变或模式。 context.stroke()//绘制已定义的路径。
在画布上线条
创建画布
<canvas id="canvas" width="400" height="400"></canvas>
使用moveTo()定义线条开始坐标,lineTo()线条结束坐标
var canvas=document.getElementById('canvas'); var context=canvas.getContext('2d'); context.beginPath(); var grd=context.createLinearGradient(0,0,170,0);//createLinearGradient(x0,y0,x1,y1);创建线性渐变对象 grd.grd.addColorStop(0,"green");//规定渐变对象中的颜色和停止位置。 grd.addColorStop(1,"white"); context.moveTo(10,10); context.lineTo(100,100); context.lineCap="round"//定义设置或返回线条的结束端点样式 round圆形 butt默认 square方形 context.lineWidth=10//设置线条宽度 context.strokeStyle=grd content.stroke()
绘制渐变文本
html
<canvas id="canvas" height="400" width="400"></canvas>
js
var canvas=document.getElementById('canvas'); var context=getContext('2d'); context.beginPath(); var grd=context.createLinearGradient(0,0,170,0); grd.addColorStop(0,"green"); grd.addColorStop(1,"white"); context.font="30px Arial"//设置或返回文本内容的当前字体属性。 context.fillStyle=grd context.fillText("Hello World",10,50);
仅用于个人学习使用
相关推荐
jinxiutong 2020-05-10
MIKUScallion 2020-02-22
songfens 2020-01-10
星星有所不知 2020-10-12
MIKUScallion 2020-07-05
MIKUScallion 2020-04-11
jinxiutong 2020-02-13
大地飞鸿 2020-02-11
jinxiutong 2020-02-10
大地飞鸿 2020-11-12
jinxiutong 2020-07-26
songfens 2020-07-05
songfens 2020-06-11
songfens 2020-06-08
northwindx 2020-05-31
northwindx 2020-05-31
northwindx 2020-05-27