校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > 使用canvas繪制貝塞爾曲線

使用canvas繪制貝塞爾曲線

熱門標簽:南通數據外呼系統推廣 申請400電話流程簡介 外呼線穩定線路 外呼系統電話怎么投訴 阜陽企業外呼系統 pageadm實現地圖標注 呼和浩特外呼電銷系統排名 邢臺縣地圖標注app 地圖標注位置能賺錢嗎

1、二次貝塞爾曲線

  quadraticCurveTo(cpx,cpy,x,y)  //cpx,cpy表示控制點的坐標,x,y表示終點坐標;

數學公式表示如下:

二次方貝茲曲線的路徑由給定點P0、P1、P2的函數B(t)追蹤:

代碼實例:


復制代碼
代碼如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>canvas直線</title>
<meta name="Keywords" content="">
<meta name="author" content="@my_programmer">
<style type="text/css">
body, h1{margin:0;}
canvas{margin: 20px;}
</style>
</head>
<body onload="draw()">
<h1>二次貝塞爾曲線</h1>
<canvas id="canvas" width=200 height=200 style="border: 1px solid #ccc;"></canvas>
<script>
function draw() {
var canvas=document.getElementById('canvas');
var context=canvas.getContext('2d');
//繪制起始點、控制點、終點
context.beginPath();
context.moveTo(20,170);
context.lineTo(130,40);
context.lineTo(180,150);
context.stroke(); </p> <p> //繪制2次貝塞爾曲線
context.beginPath();
context.moveTo(20,170);
context.quadraticCurveTo(130,40,180,150);
context.strokeStyle = "red";
context.stroke();
}
</script>
</body>
</html>

代碼效果:

2、三次貝塞爾曲線

  bezierCurveTo(cp1x,cp1y,cp2x,cp2y,x,y)  //cp1x,cp1y表示第一個控制點的坐標,cp2x,cp2y表示第二個控制點的坐標,x,y表示終點的坐標;

數學公式表示如下:

P0、P1、P2、P3四個點在平面或在三維空間中定義了三次方貝茲曲線。曲線起始于P0走向P1,并從P2的方向來到P3。一般不會經過P1或P2;這兩個點只是在那里提供方向資訊。P0和P1之間的間距,決定了曲線在轉而趨進P3之前,走向P2方向的“長度有多長”。

代碼實例:


復制代碼
代碼如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>canvas直線</title>
<meta name="Keywords" content="">
<meta name="Description" content="">
<style type="text/css">
body, h1{margin:0;}
canvas{margin: 20px; }
</style>
</head>
<body onload="draw()">
<h1>三次貝塞爾曲線</h1>
<canvas id="canvas" width=200 height=200 style="border: 1px solid #ccc;"></canvas>
<script>
function draw() {
var canvas=document.getElementById('canvas');
var context=canvas.getContext('2d');
//繪制起始點、控制點、終點
context.beginPath();
context.moveTo(25,175);
context.lineTo(60,80);
context.lineTo(150,30);
context.lineTo(170,150);
context.stroke(); </p> <p> //繪制3次貝塞爾曲線
context.beginPath();
context.moveTo(25,175);
context.bezierCurveTo(60,80,150,30,170,150);
context.strokeStyle = "red";
context.stroke();
}
</script>
</body>
</html>

代碼效果圖:

是不是很炫酷的效果。。。HTML5+canvas真是個好玩的東西,上癮了。

標簽:辛集 蚌埠 德州 撫順 黃山 楊凌 內蒙古 鶴崗

巨人網絡通訊聲明:本文標題《使用canvas繪制貝塞爾曲線》,本文關鍵詞  使用,canvas,繪制,貝,塞爾,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《使用canvas繪制貝塞爾曲線》相關的同類信息!
  • 本頁收集關于使用canvas繪制貝塞爾曲線的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 鹤山市| 衡阳市| 怀安县| 内丘县| 长武县| 和政县| 大丰市| 华坪县| 鸡东县| 铅山县| 平江县| 吴堡县| 黄平县| 长春市| 上饶市| 调兵山市| 黄冈市| 乐昌市| 嫩江县| 沂源县| 梁平县| 华容县| 和顺县| 阿合奇县| 清镇市| 和林格尔县| 阳西县| 新密市| 夏河县| 通江县| 尉犁县| 勃利县| 灵石县| 九江县| 聂拉木县| 宾阳县| 无棣县| 宝应县| 平泉县| 张家界市| 巨鹿县|