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/