HTML5的学习之canvas画布(二)

HTML5的学习之canvas画布

这篇文章我么继续学习canvas画布。学习学习canvas画布线条的颜色,渐变,阴影等属性和方法。

属性

1.颜色属性

属性描述
fillStyle设置或返回用于填充绘画的颜色、渐变或模式。
strokeStyle设置或返回用于笔触的颜色、渐变或模式。

2.阴影属性

属性描述
shadowColor设置或返回用于阴影的颜色。
shadowBlur设置或返回用于阴影的模糊级别。
shadowOffsetX设置或返回阴影与形状的水平距离。
shadowOffsetY设置或返回阴影与形状的垂直距离。

3.线条样式属性

属性描述
lineCap设置或返回线条的结束端点样式。
lineJoin设置或返回两条线相交时,所创建的拐角类型。
lineWidth设置或返回当前的线条宽度。
miterLimit设置或返回最大斜接长度。
方法

1.渐变方法

方法描述
createLinearGradient()创建线性渐变(用在画布内容上)。
createPattern()在指定的方向上重复指定的元素。
createRadialGradient()创建放射状/环形的渐变(用在画布内容上)。
addColorStop()规定渐变对象中的颜色和停止位置。

HTML代码:

    <canvas id="my_canvas"></canvas>

JavaScript代码:

    // 1.获取元素
    var oCanvas = document.getElementById("my_canvas");
    // 2.设置画布的大小
    oCanvas.width = "1000";
    oCanvas.height = "1000";
    // 3.设置画布环境  getContext()
    var myCanvas = oCanvas.getContext("2d");


    // 方法  矩形
    // rect(x,y,width,height)	创建矩形。
    // myCanvas.rect(100, 100, 200, 200);
    // myCanvas.stroke(); //绘制已经定义的路径
    // strokeRect(x,y,width,height)	绘制矩形(无填充)。
    // myCanvas.strokeRect(0, 320, 200, 200);

    // fillRect(x,y,width,height);	绘制"被填充"的矩形。
    // myCanvas.fillRect(600, 600, 400, 400);
    // clearRect(x,y,width,height)	在给定的矩形内清除指定的像素。
    // myCanvas.clearRect(700,700,100,100);


    // 颜色 阴影  属性
    // fillStyle	设置或返回用于 填充 绘画的颜色、 渐变 或模式。
    // myCanvas.shadowColor="yellow";
    // myCanvas.shadowBlur="20";
    // myCanvas.shadowOffsetX="20";
    // myCanvas.shadowOffsetY="20";
    // myCanvas.fillStyle="red";
    // myCanvas.fillRect(0,0,200,200);

    // strokeStyle	设置或返回用于 笔触 的颜色、渐变或模式。   
    // myCanvas.strokeStyle="yellow";
    // myCanvas.strokeRect(0, 0, 200, 200);

    // shadowColor	设置或返回用于阴影的颜色。
    // shadowBlur	设置或返回用于阴影的模糊级别。
    // shadowOffsetX	设置或返回阴影与形状的水平距离。
    // shadowOffsetY	设置或返回阴影与形状的垂直距离。

    // 颜色 阴影 方法
    // createLinearGradient(x0,y0,x1,y1)	创建线性渐变(用在画布内容上)。
    // createRadialGradient(x0,y0,r0,x1,y1,r1)	创建放射状/环形的渐变(用在画布内容上)。
    // addColorStop(stop,color)	规定渐变对象中的颜色和停止位置。 stop 0-1
    // 创建渐变色
    // var linearGra=myCanvas.createLinearGradient(0,0,450,450);

    var linearGra = myCanvas.createRadialGradient(250, 250, 10, 250, 250, 300);
    // 设置渐变色
    // linearGra.addColorStop(0,"red");
    // linearGra.addColorStop(0.2,"yellow");
    // linearGra.addColorStop(0.7,"blue");
    // 使用渐变色
    // myCanvas.fillStyle=linearGra;
    // myCanvas.fillRect(0,0,500,500);
    // myCanvas.strokeStyle=linearGra;
    // myCanvas.strokeRect(10,10,500,500);

    // createPattern(元素名,重复)	在指定的方向上重复指定的元素。
    var oImg = document.getElementById("my_img");
    // var oImg = new Image();
    // oImg.src = "../0603/img/1.jpg";
    oImg.onload = function () {
        var myImg = myCanvas.createPattern(oImg, "repeat");
        myCanvas.fillStyle = myImg;
        myCanvas.fillRect(0, 0, 500, 500);
    }

视频讲解链接:
https://www.bilibili.com/video/BV1D5411p7YZ/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值