canvas绘图
程序员文章站
2022-07-14 15:45:39
...
canvas绘图
HTML5 元素用于图形的绘制,通过脚本 (通常是JavaScript)来完成。
标签只是图形容器,必须使用脚本来绘制图形。
anvas 是一个二维网格。
canvas 的左上角坐标为 (0,0)
例: fillRect 方法拥有参数 (0,0,150,75)。
意思是:在画布上绘制 150x75 的矩形,从左上角开始 (0,0)。
- canvas画小房子
moveTo(x,y) 定义线条开始坐标
lineTo(x,y) 定义线条结束坐标
arc(x,y,r,start,stop)
<body>
<canvas id="myCanvas" width="500" height="500" > /*创建一个画布*/
</canvas>
<script>
var c=document.getElementById("myCanvas");/*找到myCanvas*/
var ctx=c.getContext("2d");/*创建context对象*/
ctx.beginPath();
ctx.fillStyle ="green";/*背景填充颜色*/
ctx.lineWidth = 5;/*边框大小*/
ctx.strokeStyle = "#F5270B";/*边框颜色*/
ctx.moveTo(50,150);/*起点*/
ctx.lineTo(200,50);/*终点*/
ctx.lineTo(350,150);/*终点*/
ctx.strokeRect(50,150,300,150);/*画矩形*/
ctx.strokeRect(80,180,80,80);/*画矩形*/
ctx.stroke();/*画图*/
ctx.fill();/*填充*/
ctx.closePath();
ctx.beginPath();
ctx.fillStyle = "green";
ctx.fillRect(250,200,60,100);/*画矩形*/
ctx.fill();
ctx.stroke();
ctx.closePath();
</script>
</body>
- canvas画渐变圆
createLinearGradient(x,y,x1,y1) - 创建线条渐变
addColorStop()方法指定颜色停止,参数使用坐标来描述,可以是0至1.
使用渐变,设置fillStyle或strokeStyle的值为 渐变,然后绘制形状,如矩形,文本,或一条线。
<body>
<canvas id="canvas" width="500" height="500" >
</canvas>
<script>
var canvas = document.getElementById("canvas");
var context= canvas.getContext("2d");
context.beginPath();
var grad= context.createLinearGradient(50,50,350,300); /*线性渐变*/
grad.addColorStop(0,'red'); /*红色*/
grad.addColorStop(0.5,'white'); /*白色*/
grad.addColorStop(1,'blue'); /*蓝色*/
context.fillStyle = grad; /*渐变填充*/
context.arc(200,200,150,0,2*Math.PI,true); /*画圆*/
context.fill();
context.closePath();
</script>
</body>
- canvas画圆弧
<body>
<canvas id="canvas" width="500" height="500" >
<script>
var canvas = document.getElementById("canvas");
var context = canvas.getContext("2d");
context.beginPath();
context.lineWidth=5;
context.strokeStyle="green";
context.arc(100,80,60,2,1.5*Math.PI);/*画圆弧*/
context.fillStyle="red"
context.fill();
context.stroke();
context.closePath();
context.beginPath();
context.lineWidth=5;
context.strokeStyle="green";
context.moveTo(95,20); // 创建开始点
context.lineTo(300,20);
context.lineTo(73,135);
context.stroke();
context.closePath();
</script>
</body>
推荐阅读
-
Android绘图之Paint的使用方法详解
-
html5 Canvas画图教程(8)—canvas里画曲线之bezierCurveTo方法
-
html5 Canvas画图教程(11)—使用lineTo/arc/bezierCurveTo画椭圆形
-
HTML5 Canvas像素处理使用接口介绍
-
html5 Canvas画图教程(10)—把面拆成线条模拟出圆角矩形
-
HTML5组件Canvas实现图像灰度化(步骤+实例效果)
-
html5 canvas-2.用canvas制作一个猜字母的小游戏
-
html5 Canvas画图教程(4)—未闭合的路径及渐变色的填充方法
-
html5 Canvas画图教程(7)—canvas里画曲线之quadraticCurveTo方法
-
HTML5中Canvas与SVG的画图原理比较