手记

Canvas绘图

基本用法
getContext(“2d”):获取2D上下文
toDataURL()可以导出在canvas上绘制的图像
填充和描边
fillStyle和strokeStyle
绘制矩形
strokeRect()和fillRect()
绘制路径
首先要调用beginPath()
clip:剪切画板
closepath:连接起终点
绘制文本
fillText()
strokeText()
变换
rotate():旋转绘制的图形
scale():缩小或放大绘制的图形
translate():变更绘制原点
绘制图像
drawImage()
阴影
设置属性后绘制会带阴影
shadowColor
shadowOffsetX
shadowOffsetY
shadowBlur
渐变
线性渐变

var drawing = document.getElementById("drawing");            
//make sure <canvas> is completely supported
if (drawing.getContext){

    var context = drawing.getContext("2d"),
        gradient = context.createLinearGradient(30, 30, 70, 70);


    gradient.addColorStop(0, "white");
    gradient.addColorStop(1, "black");

    //draw a red rectangle
    context.fillStyle = "#ff0000";
    context.fillRect(10, 10, 50, 50);

    //draw a gradient rectangle
    context.fillStyle = gradient;
    context.fillRect(30, 30, 50, 50);
}                

径向渐变

var drawing = document.getElementById("drawing");
            
//make sure <canvas> is completely supported
if (drawing.getContext){

    var context = drawing.getContext("2d"),
    gradient = context.createRadialGradient(55, 55, 10, 55, 55, 30);


    gradient.addColorStop(0, "white");
    gradient.addColorStop(1, "black");

    //draw a red rectangle
    context.fillStyle = "#ff0000";
    context.fillRect(10, 10, 50, 50);

    //draw a gradient rectangle
    context.fillStyle = gradient;
    context.fillRect(30, 30, 50, 50);
}    

模式
绘制重复的图像
需要注意的是,模式是在原点开始的,只表示在某个特定的区域内显示重复的图像,而不是要从某个位置开始绘制重复图像
使用图像数据
getImageData获取指定区域的图像
putImageData把图像绘制到图像上
合成
全局属性globalAlpha和globalCompositionOperation
globalAlpha:绘制透明度

0人推荐
随时随地看视频
慕课网APP