canvas

canvas

canvas绘制

  • 获取元素
    var canvas = document.getelementbyid('div1');
  • 获取上下文对象(画笔)
    var ctx = canvas.getContext('2d');

绘制线条

ctx.beginPath();//下笔
ctx.moveTo();//下笔的位置
ctx.lineTo();//描述下一个点
ctx.lineTo();//描述下下个点
ctx.closePath();//是否封闭区域

ctx.strokeStytle = 'red';
ctx.lineCap = 'round';
ctx.lineJoin = 'round';
ctx.lineWidth = 5;
ctx.stroke();//画线

ctx.fillStyle = 'red';
ctx.fill();//填充

绘制矩形

ctx.fillRect(x,y,w,h);
ctx.strokeRect(x,y,w,h);

绘制圆形

ctx.beginPath();
ctx.arc(x,y,r,startAngle,endAngle,direction);
//圆心x,圆心y,半径r,开始的弧度值,结束的弧度值,方向
ctx.stroke();//不可少

绘制曲线

  • 二次贝塞尔曲线
  • 三次贝塞尔曲线

绘制文字

ctx.textAlign = 'center';//基准点在文本的位置
ctx.textBaseline = 'middle';//基线
ctx.font = '50px 黑体';
ctx.fillText(text,x,y,maxWidth?);
//文本内容,文本的坐标x,坐标y,最大文字宽度(可选)
ctx.strokeText(text,x,y,maxWidth?)

绘制图片

var img = new Image();
img.src = '';
img.onload = function(){
    ctx.drawImage(img,x,y);
    ctx.drawImage(img,x,y,w,h,x,y,w,h)
    //可以有9个参数,2345表示img标签在canvas中的位置和大小,6789表示img图片的裁剪
};

擦除画布上内容

  • ctx.clearReact(x, y, w, h);
  • 擦除的起点x值,y值,擦除的宽度,高度

动画

  • 原理:擦出-绘制-擦出-绘制 ·····
  • 一般配合定时器使用
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一:canvas简介 1.1什么是canvas? ①:canvas是HTML5提供的一种新标签 ②:HTML5 ...
    GreenHand1阅读 4,719评论 2 32
  • 一、canvas简介 1.1 什么是canvas?(了解) 是HTML5提供的一种新标签 Canvas是一个矩形区...
    Looog阅读 3,972评论 3 40
  • 一、canvas简介 1.1 什么是canvas?(了解) 是HTML5提供的一种新标签 Canvas是一个矩形区...
    J_L_L阅读 1,558评论 0 4
  • 书中代码示例效果展示:Core HTML5 Canvas Examples 基础知识 canvas元素 canva...
    szu_bee阅读 2,881评论 2 28
  • canvas基本标签 < /canvas>宽高写在内部跟样式有区别的(样式设置-画出的图形宽高改变,内部设置-画出...
    闫子扬阅读 467评论 0 0