HTML5之canvas 4 绘制曲线

一、圆弧

(x0,y0)当前坐标点,(x1,y1)控制点坐标,(x2,y2)圆弧终点坐标

Context.arcTo(x1,y1,x2,y2,radiusX)

二、二次贝塞尔曲线

开始点:moveTo(20,20)

控制点 1:quadraticCurveTo(20,100,200,20)

结束点:quadraticCurveTo(20,100,200,20)

Context. quadraticCurveTo(cpx,cpy,x,y)

(cpx,cpy)控制点坐标,(x,y)终点坐标

三、三次贝塞尔曲线

开始点:moveTo(20,20)

控制点 1:bezierCurveTo(20,100,200,100,200,20)

控制点 2:bezierCurveTo(20,100,200,100,200,20)

结束点:bezierCurveTo(20,100,200,100,200,20)

Context.bezierCurveTo(cp1x,cp1y,cp2x,cp2y,x,y);

(cp1x,cp1y)第一个控制点,(cp2x,cp2y)第二个控制点,(x,y)终点

 1 <html>
 2     <head>
 3         <meta charset="UTF-8">
 4         <title>圆弧-二次贝塞尔曲线-三次贝塞尔曲线</title>
 5         <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
 6
 7     </head>
 8     <body>
 9         <canvas id="canvas" width="500" height="500"></canvas>
10         <script type="text/javascript">
11             var oCanvas = document.getElementById("canvas");
12             var context = oCanvas.getContext("2d");
13             context.fillStyle = "#ededed";
14             context.fillRect(0, 0, 500, 500);
15             //圆弧
16             context.beginPath();//开始点
17             context.moveTo(140,100);//X0Y0:起点,更改X0可控制
18             context.arcTo(160,100,160,140,20);//X1Y1控制点:,X2Y2:终点,半径
19             context.stroke();
20             context.closePath();//结束点
21             //二次贝塞尔曲线
22             context.beginPath();//开始
23             context.moveTo(200,200);//开始点
24             context.quadraticCurveTo(240,300,400,160);//(cpx,cpy,x,y):(cpx,cpy)控制点坐标,(x,y)终点坐标
25             context.stroke();//描边
26             context.closePath();//关闭
27             //三次贝塞尔曲线
28             context.beginPath();//开始
29             context.moveTo(400,400);//开始点
30             context.quadraticCurveTo(440,300,300,160,100,260);//(cp1x,cp1y,cp2x,cp2y,x,y):(cp1x,cp1y)第一个控制点,(cp2x,cp2y)第二个控制点,(x,y)终点
31             context.stroke();//描边
32             context.closePath();//关闭
33         </script>
34     </body>
35 </html>
时间: 2024-11-10 01:28:15

HTML5之canvas 4 绘制曲线的相关文章

HTML5在canvas中绘制复杂形状附效果截图

HTML5在canvas中绘制复杂形状附效果截图 一.绘制复杂形状或路径 在简单的矩形不能满足需求的情况下,绘图环境提供了如下方法来绘制复杂的形状或路径. beginPath() : 开始绘制一个新路径. closePath() : 通过绘制一条当前点到路径起点的线段来闭合形状. fill() , stroke() : 填充形状或绘制空心形状. moveTo() : 将当前点移动到点(x,y). lineTo() : 从当前点绘制一条直线到点(x,y). arc(x,y,r,sAngle,eAn

HTML5 在canvas中绘制矩形

作者:卿笃军 原文地址:http://blog.csdn.net/qingdujun/article/details/32930501 一.绘制矩形 canvas使用原点(0,0)在左上角的坐标系统,x坐标向右递增,y坐标向下递增. 使用绘图环境的矩形绘制函数来绘制矩形. fillRect(x,y,width,height) : 绘制一个实心的矩形. strokeRect(x,y,width,height) : 绘制一个空心的矩形. clearRect(x,y,width,height) : 清

HTML5 在canvas中绘制复杂形状

作者:卿笃军 原文地址:http://blog.csdn.net/qingdujun/article/details/32942667 一.绘制复杂形状或路径 在简单的矩形不能满足需求的情况下,绘图环境提供了如下方法来绘制复杂的形状或路径. beginPath()  : 开始绘制一个新路径. closePath()  : 通过绘制一条当前点到路径起点的线段来闭合形状. fill() , stroke()  : 填充形状或绘制空心形状. moveTo()  : 将当前点移动到点(x,y). lin

HTML5 在canvas中绘制文本

作者:卿笃军 原文地址:http://blog.csdn.net/qingdujun/article/details/33333519 一.绘制文本 在绘图环境中提供了两种方法在canvas中绘制文本. strokeText(text,x,y) : 在(x,y)处绘制空心的文本. fillText(text,x,y) : (x,y)处绘制实心的文本. 二.在canvas中绘制文本 <!DOCTYPE html> <html> <head> <meta http-e

[ html canvas 绘制曲线三种方法 ] canvas绘图 绘制曲线三种方法属性实例演示

1 <!DOCTYPE html> 2 <html lang='zh-cn'> 3 <head> 4 <title>Insert you title</title> 5 <meta name='description' content='this is my page'> 6 <meta name='keywords' content='keyword1,keyword2,keyword3'> 7 <meta htt

详述Canvas(四)/绘制曲线

Canvas提供了4个绘制曲线的方法: arc(x,y,stratAngle,endAngle,true/false);//默认为false arcTo(x1,y1,x2,y2,r); x1,y2坐标一,x2,y2坐标2,r是圆弧半径 quadraticCurveTo(dx,dy,x,y); dx,dy控制点,x,y是结束点 bezierCurveTo(dx1,dy1,dx2,dy2,x,y); dx1,dy1是控制点一,dx2,dy2是控制点二,x,y是结束点 1.arc(x,y,startA

canvas(四)绘制曲线

1.自定义方法绘制曲线 曲线可以看成是无数条极短的直线连接而成的,可以使用lineTo()来绘制一条曲线 圆的方程为:r^2 = x^2 + y^2 可得 y = Math.sqrt(r^2-x^2) 可以根据这个公式来绘制以0,0为圆心的1/4圆的曲线 <script> var canvas = document.querySelector("canvas") var ctx = canvas.getContext("2d") // 设置圆的半径和绘制

HTML5使用Canvas来绘制图形

一.Canvas标签: 1.HTML5<canvas>元素用于图形的绘制,通过脚本(通常是javascript)来完成. 2.<canvas>标签只是图形容器,必须使用脚本来绘制图形. 3.可以通过多种方法通过Canvas绘制路径.盒.圆.字符以及添加图像. 二.Canvas绘制图形 1.绘制矩形 2.绘制圆形 3.moveTo和lineTo 4.使用bezierCurveTo绘制贝塞尔曲线 5.绘制线性渐变 6.绘制径向渐变 7.绘制变形图形 8.绘制图形合成gloablComp

HTML5之canvas 3 绘制直线

Context.moveTo(20,20); Context.lineTo(20,200); Context.lineWidth=10; Context.lineCap=”round”; Context.lineJoin=”round”; Context.stroke(); Context.setLineDash([5,15]) <html> <head> <meta charset="UTF-8"> <title>横线-竖线-斜线<