canvas使用注意点总结
canvas默认宽高是300、150,为避免异常,最好使用显示属性添加而不通过css来添加宽高,下面简单的为大家介绍下canvas使用注意事项,感兴趣的朋友可以参考下哈,希望对大家有所帮助
1、canvas中文教程https://developer.mozilla.org/zh-CN/docs/Canvas_tutorial
2、canvas默认宽高是300、150,为避免异常,最好使用显示属性添加而不通过css来添加宽高
3、在canvas标签内部添加不支持canvas标签的浏览器的说明
4、通过下面的js代码也能判断浏览器是否支持canvas
var canvas = document.getElementById('tutorial');
if (canvas.getContext){
var ctx = canvas.getContext('2d');
// drawing code here
} else {
// canvas-unsupported code here
}
5、canvas只支持一种基本形状的绘制,即矩形,但是其它图形都可以通过canvas路径来绘制
6、绘制矩形有四个函数:rect、fillRect、strokeRect和clearRect
7、beginPath的作用用来开始一个新的路径层,如果不加就表示在原来路径层上绘制,下面两段代码效果是完全不一样的,第一段代码显示两条红线,第二段代码显示一条黑线和一条红线
var ctx = document.getElementById('cvs').getContext('2d');
ctx.beginPath();
ctx.moveTo(100.5,20.5);
ctx.lineTo(200.5,20.5);
ctx.stroke();
ctx.moveTo(100.5,40.5);
ctx.lineTo(200.5,40.5)
ctx.strokeStyle = '#f00';
ctx.stroke();
复制代码代码如下:
var ctx = document.getElementById('cvs').getContext('2d');
ctx.beginPath();
ctx.moveTo(100.5,20.5);
ctx.lineTo(200.5,20.5);
ctx.stroke();
ctx.beginPath();
ctx.moveTo(100.5,40.5);
ctx.lineTo(200.5,40.5)
ctx.strokeStyle = '#f00';
ctx.stroke();
8、如果不需要路径闭合,closePath可以不用,如果使用了fill则路径则会自动闭合,不需要再使用closePath了
9、只要有足够的耐性是完全可以利用贝塞尔曲线绘制任何图形的
10、二次方曲线在火狐下存在bug,因此可以利用三次方曲线代替二次方曲线使用
11、图像(如 PNG,GIF,JPEG等)都可以引入到 canvas 中,而且其它的 canvas 元素也可以作为图像的来源
12、下面是基本的canvas图片绘制代码,其中 image 是 image 或者 canvas 对象,x 和 y 是其在目标 canvas 里的起始坐标
drawImage(image, x, y)
下面一段代码表示缩放图片,width和height表示缩放的尺寸
drawImage(image, x, y, width, height)
下 面一段代码表示剪切图片,第一个参数和其它的是相同的,都是一个图像或者另一个 canvas 的引用。其它8个参数中分别表示图片中裁减的起始x坐标,图片中裁减的起始y坐标,裁减区域宽度,裁减区域高度,所画位置x坐标,所画位置y坐标,所画图 形宽度,所画图形高度,裁剪区域的尺寸是可以和所画图形的尺寸不一样的,此时会缩放到所画图片的尺寸
drawImage(image, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight)
13、strokeStyle 是用于设置图形轮廓的颜色,而 fillStyle 用于设置填充颜色。color 可以是表示 CSS 颜色值的字符串,渐变对象或者图案对象。默认情况下,线条和填充颜色都是黑色(CSS 颜色值 #000000)。
14、图像透明度可以用globalAlpha = transparency value或者rgba颜色值来表示
上一篇:CSS样式表层叠(cascade)处理冲突
下一篇:没有了完