介绍下canvas相关的API

介绍下canvas相关的API

月光魔力鸭

2018-08-28 19:46 阅读 639 喜欢 0 canvas api canvas的API

用于自己加强记忆防止遗忘,当然还可以回头再看。

ctx

var ctx = el.getContext('2d');

检查是否支持canvas

if(el.getContext){
    var ctx = el.getContext('2d');
}

矩形-绘制一个填充的矩形

ctx.fillRect(x,y,width,height);

矩形-绘制一个矩形的边框

ctx.strokeRect(x,y,width,height);

矩形-清楚矩形区域

ctx.clearRect(x,y,width,height);

路径

//1.创建起点
ctx.beginPath();
//2.移动到某点
ctx.moveTo(x,y);
//3.绘制一条线,从当前点,到目标点
ctx.lineTo(x,y);
//4.通过线条来绘制图形轮廓
ctx.stroke();
//5.填充路径的内容区域为实心
ctx.fill();//会自动闭合
//6.关闭路径
ctx.closePath()

圆弧

//以(x,y) 为原点,radius 为半径,从startAngle开始到endAngle结束,方向默认顺时针
ctx.arc(x,y,radius,startAngle,endAngle,anticlockwise);

//角度与弧度计算---,在arc中使用的是弧度,不是角度
radians=(Math.PI/180)*degrees

上色

//color 可以是表示 CSS 颜色值的字符串,渐变对象或者图案对象,默认黑色
ctx.fillStyle='white';//填充白色
ctx.strokeStyle='blakc';//边框黑色

转载请注明出处: https://chrunlee.cn/article/canvas-api.html


感谢支持!

赞赏支持
提交评论
评论信息 (请文明评论)
暂无评论,快来快来写想法...
推荐
在文件上传的时候,经常会对文件的mime进行限制,比如图片 image/jpg 等,让用户可以选择图片,而不是其他的文件。
突然来了一个调研任务,想要实现一个类似3D虚拟展厅类似的需求,主要就是放一些学生的作品,然后预览啥的,效果还是要全景的效果。 经过一番调查,最终锁定了以前从未接触过的krpano。
在开发过程中多个页面使用的一个小工具类,简单完善了下,还算不错,给各位提供下小思路。
做作业的时候,需要在手机上预览下,但是发现如果想在移动端上展示A4样子的作业还是挺麻烦的,最后还是准备通过图片来展示,然后移动端缩放呗。。
今天小程序上传体验版本后莫名无法获取用户数据,但是本地开发环境是正常的,通过开发工具的真机进行测试也正常,但是通过开发工具的预览又不正常,初步来看代码是没有问题的,可能是哪里设置有问题。
错误:The operation is insecure . 在使用canvas的 toDataUrl的时候报错,看了很多资料,基本上都说是设置跨域,但是我一直都有的啊。其实,只是顺序错了,setAttribute('crossOrigin','Anonymous') 要在设置 src之前设置。
在今天之前,我对canvas中rotate其实是一脸蒙逼的... 虽然之前有做过图片旋转,但那是在他人的基础上直接修改的,至于为啥会这样..讲真,还真没注意过,但是今天又需要用到这块了,实在搞不定了,找了各种资料,终于明白了.. 坐标系的问题。
当一些业务必须通过横屏来实现,但是又没有原生来做,只能通过h5的时候怎么办?