canvas绘图调用方法
来源:互联网 发布:知乎 可怕 编辑:程序博客网 时间:2024/06/06 01:16
这次记录一下有关canvas中一些方法的调用,从在画布当中绘制出自己的图像。
首先调用绘图画布的方法getContext(context)来绘制图形。context的属性值一般为2d。
绘制图形中,有两种形式,一种是线条型,另一种是填充型。分别采用的属性为:strokeStyle(x,y,width,height)、fillStyle(x,y,width,height).
例:绘制出两个不同类型的矩形。
<!doctype html><html lang="en"> <head> <meta charset="UTF-8"> <title style="text-align:center">canvas绘制图像</title> </head> <body> <div id="canvasbox"><canvas id="canvas" width="500" height="300">你的浏览器不兼容canvas动画</canvas></div><script>function initiate(){var ele = document.getElementById("canvas");canvas = ele.getContext("2d");canvas.strokeRect(100,100,120,120);canvas.fillRect(110,110,100,100);canvas.clearRect(120,120,80,80);}window.addEventListener("load",initiate,false);</script> </body></html>得到了绘制的图形如下:
这里面还调用了clearRect()方法绘制出不含像素的矩形。也可以通过调用一定的方法从而改变图形的颜色。这里可以用strokeStyle、fillStyle来改变颜色。具体的属性赋值为canvas.strokeStyle=color。而用globalAlpha来改变画布中所有图形的透明度。
在绘制渐变线时,可以 用createLinear Gradient(x1,y1,x2,y2)线性渐变,createRadialGradient(x1,y1,r1,x2,y2,r2),配合addColorStop(position,color)设置渐变效果。其中position的值0.0~1.0。(这里的渐变效果还是没懂,希望查找资料之后能改进)
function initiate(){var ele = document.getElementById("canvas");canvas = ele.getContext("2d");var grad = canvas.createLinearGradient(0,0,10,100);grad.addColorStop(0.5,'#00f');grad.addColorStop(1,'#000');canvas.fillStyle = grad;canvas.fillRect(10,10,100,100);canvas.fillRect(120,10,200,100);}window.addEventListener("load",initiate,false);在画布中可以创建画笔的路径,从而清晰确定画笔的移动路线。
在创建之前,必须调用beginPath()方法创建路径。
closePath()为关闭路径,将最后一个点与原点通过直线连接。在需要保持开放路径,即不需要图形闭合时不需要调用此方法。还有一种情况不需要调用关闭路径方法,绘制图形时,采用的是fill()填充方法,不需要进行最后的连接。
fill()和stroke()可以在画布上绘制路径,也就是对线条进行喷墨显示。
在创建图形中用到的方法有:moveTo(x,y)、lineTo(x,y)、rect(x,y,width,height)、arc(x,y,startAngle,endAngle,direction)。
moveTo()方法是将画笔移动动到指定位置;
lineTo()即画笔初始点到位置用直线连接;
canvas中还可以修改线型。lineWidth、lineCap分别设置线宽及线条端点形状;
转换函数,即改变并设置新的原点translate(x,y)。
rotate(angle)以原点为中心进行旋转;
scale(x,y)放大或者缩小画布;
save()保存画布状态;
restore()恢复上一次保存的画布状态;
- canvas绘图调用方法
- HTML5中Canvas绘图方法性能测试
- 解决canvas绘图很虚的方法
- android绘图canvas.clipRect()方法的作用
- android绘图canvas.drawBitmap方法的作用
- Android中Canvas绘图方法的实现
- Canvas绘图
- Canvas绘图
- canvas绘图
- drawImage()方法调用问题 Canvas
- android绘图Paint.setXfermode()和Canvas.saveLayer()方法的作用
- android绘图Paint.setXfermode()和Canvas.saveLayer()方法的作用
- 【canvas】Android Canvas绘图详解
- SWT的Canvas绘图
- SWT之Canvas绘图
- canvas 绘图总结
- android 绘图 Canvas
- Canvas绘图学习
- 防守阵地 II【线段树 区间修改】
- 从零开始学Android(二):利用“打招呼”来说明按钮点击事件的三种处理方式
- font-family:中文字体的英文名称
- 如何在SharePoint中创建HTTPS类型Site Collection?
- 在C语言中,static关键字的作用是什么?
- canvas绘图调用方法
- c#中 foreach 用法
- java多线程的线程池
- 随便写写C++,看看Essential C++
- 操作系统三个简单的部分(Operating Systems in Three Easy Pieces)4.1
- Java并发编程:Callable、Future和FutureTask
- POJ 1470 Closest Common Ancestors(离线tarjan-LCA)
- 使用病毒库检查手机中已经安装的程序
- java ssh