初识canvas

canvas

canvas标签是图形容器,需要通过脚本语言绘制。

设置宽高:

canvas可以通过脚本设置宽高,也可以通过标签设置。

1 脚本设置:canvas.width:100;convas.height:100;

2 标签设置:<canvas width="100" height="100"></canvas>

设置绘图环境:

常见contextId有2d,3d,webGl等。常用2d和webGL

var ctx = canvas.getContext("2d");

设置画布背景:

ctx.fillStyle = "rgba(0,0,0,0.3)";

设置偏移:

 ctx.translate(100,100);

设置画布大小与位置:

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

设置透明度:

ctx.globalAlpha = 0.5;

设置边框线颜色:颜色要在矩形之前绘制才行

ctx.strokeStyle  = “red”;

设置边线宽度:

ctx.lineWidth = 5;

设置矩形边线:

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

填充画布:

ctx.fill();

填充图片:

ctx.createPattern(e.targert,"no-repeat");

绘制一个红色方块

var canvas, ctx;
        canvas = document.querySelector("canvas");
        ctx = canvas.getContext("2d");
        //绘制背景色
        ctx.fillStyle = "rgba(0,0,0,0.3)";
        ctx.fillRect(0, 0, 400, 300);
        //绘制红色方块
        ctx.fillStyle = "rgba(255,0,0,1)";
        //在50,50坐标绘制一个100×100大小的矩形
        ctx.fillRect(50, 50, 100, 100);

效果:

清除上述矩形:

清除之后会留下空白

        ctx.clearRect(50,50,100,100);

绘制一个圆:

        var canvas, ctx;
        canvas = document.querySelector("canvas");
        ctx = canvas.getContext("2d");
        var fill = ctx.createRadialGradient(50,50,80,50,50,0);
        fill.addColorStop(0,"red");
        fill.addColorStop(0.5,"rgba(255,255,0,1)");
        ctx.fillStyle = fill;
        //偏移
        ctx.translate(100,100);
        ctx.fillRect(0,0,100,100);

填充图片:createPattern

var canvas, ctx;
        canvas = document.querySelector("canvas");
        ctx = canvas.getContext("2d");
        fills();
        function fills(){
            var img = new Image();
            img.src = "../img/34-.jpg";
            img.addEventListener("load",loadHandler);
        }
        function loadHandler(e){
            var fill = ctx.createPattern(e.target,"no-repeat");
            ctx.fillStyle = fill;
            //缩放图片
            ctx.scale(0.4,0.4);
            ctx.fillRect(0,0,1024,717);
        }

给红色方块绘制阴影:

// 绘制阴影
        var canvas, ctx;
        canvas = document.querySelector("canvas");
        ctx = canvas.getContext("2d");
        function fills(){
            ctx.fillStyle = "red";
            ctx.shadowOffsetX = 4;
            ctx.shadowOffsetY = 4;            
            ctx.shadowBlur = 4;
            ctx.shadowColor = "#666666";
            ctx.fillRect(50,50,100,100);
        }
        fills();

绘制边线,设置边线粗细

var canvas, ctx;
        canvas = document.querySelector("canvas");
        ctx = canvas.getContext("2d");
        function fills(){
            ctx.strokeStyle = "red";
            ctx.lineWidth = 5;
            ctx.strokeRect(50,50,100,100);
        }
        fills();

猜你喜欢

转载自www.cnblogs.com/ltfxy/p/12423380.html
今日推荐