详解HTML5 canvas绘图基本使用方法

2020-04-21 23:48:31易采站长站整理

context.stroke();

效果如下:

context.quadraticCurveTo(cpx,cpy,x,y);绘制二次贝塞曲线,参数含义如下:

 

参数含义
cpx贝塞尔控制点的 x 坐标
cpy贝塞尔控制点的 y 坐标
x结束点的 x 坐标
y结束点的 y 坐标

曲线的开始点是当前路径中最后一个点。如果路径不存在,那么请使用 beginPath() 和 moveTo() 方法来定义开始点。

context.bezierCurveTo(cp1x,cp1y,cp2x,cp2y,x,y); 绘制三次贝塞尔曲线,参数如下:

 

参数含义
cp1x第一个贝塞尔控制点的 x 坐标
cp1y第一个贝塞尔控制点的 y 坐标
cp2x第二个贝塞尔控制点的 x 坐标
cp2y第二个贝塞尔控制点的 y 坐标
x结束点的 x 坐标
y结束点的 y 坐标

文字渲染

与文本渲染有关的主要有三个属性以及三个方法:

 

属性描述
font设置或返回文本内容的当前字体属性
textAlign设置或返回文本内容的当前对齐方式
textBaseline设置或返回在绘制文本时使用的当前文本基线
方法描述
fillText()在画布上绘制”被填充的”文本
strokeText()在画布上绘制文本(无填充)
measureText()返回包含指定文本宽度的对象

上述的属性和方法的基本用法如下:


var canvas = document.getElementById("canvas");
var context = canvas.getContext("2d");

context.font="bold 30px Arial"; //设置样式
context.strokeStyle = "#1712F4";
context.strokeText("欢迎来到我的博客!",30,100);

context.font="bold 50px Arial";
var grd = context.createLinearGradient( 30 , 200, 400 , 300 );//设置渐变填充样式
grd.addColorStop(0,"#1EF9F7");
grd.addColorStop(0.25,"#FC0F31");
grd.addColorStop(0.5,"#ECF811");
grd.addColorStop(0.75,"#2F0AF1");
grd.addColorStop(1,"#160303");
context.fillStyle = grd;
context.fillText("欢迎来到我的博客!",30,200);