canvas笔记

canvas 定义图形,描绘图形

<canvas id="mycanvas" width="200px" height="100px"></canvas>
canvas标签有两个属性width, height, 是描绘图形的容器

js来绘制图像
var mycanvas = document.getElementById('mycanvas');
var ctx = mycanvas.getContext('2d');  创建h5内置的getContext('2d')对象,可以描绘路径,矩形,圆形,文本

方法

路径
     新路经 ctx.beginPath(); 图形绘制命令指向当前路径
     关闭路径: ctx.closePath(); 非必须,关闭路径后,图形绘制命令又重新指向上下文
    填充 ctx.fill()  填充内容区域生成实心图形,会自动闭合路径,不用写ctx.closePath();
    描边 ctx.stroke() 通过线条生成图形轮廓,不会自动闭合路径

线
      开始位置 ctx.moveTo(x, y);
     结束位置 ctx.lineTo(x, y);

矩形
    ctx.fillRect(x,y,width,height); 绘制一个填充的矩形
    ctx.strokeRect(x, y , widht, height); 绘制一个矩形的边框
    ctx.clearRect(x, y, width, height); 清空指定区域的矩形,让清除部分透明

圆形
    ctx.arc(x, y, r, startAngle, stopAngle)  圆是2*Math.PI

文本
    ctx.font 定义字体样式
    ctx.fillText(text, x, y)  在canvas上描绘实心的文字
    ctx.strokText(text, x, y) 在canvas上描绘空心的文字

渐变
    var grd = ctx.createLinearGradient(x,y,x1,y1) 线条渐变
    var grd  ctx.createRadialGendient(x,y,r,x1,y1,r1) 径向渐变

    grd.addColorStop(0/1, color) 指定颜色停止,
                                 如果第一个参数是0,第二个参数开始颜色,
                                 如果第一个参数是1,第二个参数结束颜色,
                                 
颜色和样式
    ctx.fillStyle = grd; 填充的颜色,可以是css颜色、渐变或者图案
    ctx.strokeStyle = "red"  图形轮廓的颜色
    
    ctx.lineWidth(); 绘制线的粗细
    ctx.textAlign = start, end, left, right, center
    ctx.textBaseline = top, bottom, middle, alphabetic, ideographic
    
状态
     ctx.save() 状态保存
     ctx.restore() 状态恢复,每调用一次restore(), 上一次保存在栈中的状态就会恢复

变形
     ctx.translate(x, y) 移动,x为左右偏移量,y为上下偏移量
     ctx.rotate(angle)  旋转,angle为顺时针旋转的角度
     ctx.scale(x, y)  缩放,默认值为1.0,小于1.0是缩小,大于1.0是放大 
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值