一套HTML5画布基本绘图实例代码集
xml代码将内容复制到剪贴板。
VaR的画布document.getelementbyid('canvas);
如果(帆布。getContext){
VaR上下文= canvas.getcontext(二维的);
/ /宽度
context.linewidth = 4;
钢笔颜色
context.strokestyle =';
填充颜色
context.fillstyle =红色;
类型行帽
context.linecap = 'butt '; / /圆形、方形
对路径
Context.beginPath();
/开始点
Context.moveTo(10,10);
/结束点
Context.lineTo(150,50);
绘图
context.stroke();
}
矩形
xml代码将内容复制到剪贴板。
VaR的画布document.getelementbyid('canvas);
如果(帆布。getContext){
Context.beginPath();
context.strokerect(10,10,70,40);
另一种方式矩形
context.rect(10,10.70,40);
context.stroke();
实心/矩形
Context.beginPath();
context.fillrect(10,10,70,40);
实心/另一矩形
Context.beginPath();
context.rect(10,10,70,40);
Context.fill();
}
圆形的
xml代码将内容复制到剪贴板。
VaR的画布document.getelementbyid('canvas);
如果(帆布。getContext){
Context.beginPath();
圆中心坐标x,y坐标圆心,半径,开始角,结束角,或逆时针方向。
/ /第四参数和第五参数被传递到的弧度,如果画30个角度来看,我们需要将其转换为30×math.pi / 180弧度
context.arc(100100,700130 * math.pi / 180,真的);
context.stroke();
Context.fill();
}
肉片
xml代码将内容复制到剪贴板。
VaR的画布document.getelementbyid('canvas);
如果(帆布。getContext){
Context.beginPath();
Context.moveTo(20,20);
Context.lineTo(70,20);
一条路径,即:一条路径,
context.arcto(12030120,70,50);
Context.lineTo(120120);
context.stroke();
/画布擦除板
Context.beginPath();
(1010200100)context.fillrect;
擦除/区域
context.clearrect(30,30,50,50);
}
二次贝塞尔曲线
xml代码将内容复制到剪贴板。
VaR的画布document.getelementbyid('canvas);
如果(帆布。getContext){
Context.beginPath();
Context.moveTo(100100);
Context.quadraticCurveTo(2050200,20);
context.stroke();
}
三贝塞尔曲线
xml代码将内容复制到剪贴板。
VaR的画布document.getelementbyid('canvas);
如果(帆布。getContext){
Context.moveTo(68130);
无功1 = 20;
VaR CY1 = 10;
VaR CX2 = 268;
VaR CY2 = 10;
无功endx = 268;
VaR恩迪= 170;
Context.bezierCurveTo(1,2,CY1、CY2,endx,恩迪);
context.stroke();
使用剪辑指定的绘图区域,在指定的绘图区域后,仅在绘图区域中绘制总体欧式图纸。
绘制一个圆
context.arc(100100,40,0,360×数学。π/ 180,真的);
限制区域
context.clip();
试图绘制其他
Context.beginPath();
context.fillstyle = 'lightblue;
结果没有显示/矩形。
(00300150)context.fillrect;
}
绘图板
xml代码将内容复制到剪贴板。
VaR的画布document.getelementbyid('canvas);
如果(帆布。getContext){
VaR上下文= canvas.getcontext(二维的);
*
*绘制图像(图像、DX、Dy)
*绘制图像(图像、DX、DY、DW,DH)
*绘制图像(图像、SX,SY,SW,SH,dx,dy,DW,DH);
*图像绘制对象
*坐标画布的坐标
* DW,DH表示图像在画布上绘制的绘图位置。
* SW,SH表示图像绘制的区域。
* SX,起始位置的绘图系统
* /
VaR的形象= document.getelementbyid('img);
context.drawimage(图像0, 0);
VaR img =新的图像();
img.src = 'images / 1。JPG;
img.onload =函数(){
/ / DrawImage
从0,0位置开始绘制 / /
/ / context.drawimage(IMG,0,0);
从0, 0开始,将整个图绘制为100100个方面。
/ / context.drawimage(1mg,0, 0, 100,100);
/ /截图,50,50从100100到260130开始画上100100长宽面积
/ / context.drawimage(1mg,50, 50, 100100,260, 130, 100,100);
/ /画画用getimagedata和putimagedata
context.drawimage(1mg,10, 10);
获取绘图板上的像素数据
开始位置,结束位置
无功imgdata = context.getimagedata(5050100100);
数据到绘图板指定的位置坐标。
context.putimagedata(imgdata,10260);
将像素数据的一部分继续放在绘图板上。
context.putimagedata(imgdata,200260,5050100100);
createimagedata / /创建像素
无功imgdata = context.getimagedata(5050200200);
创建指定大小的空对象
无功imgdata01 = context.createimagedata(imgdata);
为(i = 0;i < imgdata01.width * imgdata01.height×4;我+ = 4){
红色像素
imgdata01。数据{我} = 255 + 0;
imgdata01。数据{我} = 0 + 1;
imgdata01。数据{我} = 0 + 2;
imgdata01。数据{我} = 255 + 3;
}
context.putimagedata(imgdata01,10, 260);
}
}