一波HTML5 Canvas基礎繪圖實例程式碼集合_html5教學技巧
canvas
html5
繪圖
基本繪製
XML/HTML Code複製內容到剪貼簿
- var canvas = document.getElementBy>document .getElementBy; >
- if (canvas.getContext) {
- var context = canvas.Congetn('2d');
- // 線寬
- context.lineWidth = 4; 🎜> // 畫筆顏色
- context.strokeStyle = 'red'; // 填充色
- context.fillStyle
- = "red"; // 帽型
- context.lineCap =
- 'butt'; // 開始路徑 context.beginPath();
- // 起點
- context.moveTo(10,10);
- // 終點
- context.lineTo(150,50);
- // 繪製
- context.stroke();
- }
- 長方形
XML/HTML Code
複製內容到剪貼簿
var canvas
=
- document.getElementBy>document.getElementBy; > if (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/HTML Code
複製內容到剪貼簿
- var canvas = document.getElementBy>document .getElementBy; >
- if (canvas.getContext) {
- context.beginPath();
- // 圓中心座標x, 圓中心座標Y, 圓弧半徑, 起始角度,終止角度,是否逆時針
- // 第4個參數和第五個參數是要傳入的弧度,如果畫30角度,需要將其轉化為弧度 30 * Math.PI / 180
- context.arc(100,100,70,0,130 * Math.PI / 180, true);
- context.stroke();
- context.fill();
- }
圓角
XML/HTML Code複製內容到剪貼簿
- var canvas = document.getElementBy>document
- .getElementBy; > if (canvas.getContext) {
- context.beginPath();
- context.moveTo(20,20);
- context.lineTo(70,20);
- // 為路徑畫弧度p1.x p1.y p2.x, p2.y 弧半徑,
- context.arcTo(120,30,120,70, 50);
- context.lineTo(120,120);
- context.stroke();
- // 擦除canvas 畫板
- context.beginPath();
- context.fillRect(10,10,200,100);
- // 擦除區域
- context.clearRect(30,30,50,50);
- }
二次貝塞爾曲線
XML/HTML Code
複製內容到剪貼簿- var canvas = document.getElementBy> document
- .getElementBy; >
- if (canvas.getContext) {
- context.beginPath();
- context.moveTo(100,100);
- context.quadraticCurveTo(20,50,200,20);
- context.stroke();
三次貝塞爾曲線
XML/HTML Code
複製內容到剪貼簿- var 勞動 = 文件.getElementById('canvas');
- if (canvas.getContext) {
- context.moveTo(68,130);
- var cX1 = 20;
- var cY1 = 10;
- var cX2 = 268;
- var cY2 = 10;
- var endX = 268;
- var endY = 170;
- context.bezierCurveTo(cX1, cY1, cX2, cY2, endX, endY);
- context.lines();
- // 利用剪輯指定繪圖區域,之後指定繪圖區域,只能在繪圖區域中進行繪圖擦歐總
- // 均勻圓
- context.arc(100,100,40,0, 360 * Math.PI/ 180 , true);
- // 限制區
- context.clip();
- //開始嘗試其他光源
- context.beginPath();
- context.fillStyle = 'lightblue';
- //結果統計並未顯示
- context.fillRect(0,0,300,150);
- }
畫板進階使用
XML/HTML 程式碼將內容複製到剪貼簿
- var canvas = document.getElementBy>document .getElementBy; >
- if (canvas.getContext) {
- var context = canvas.Congetn('2d');
- /*
- * drawImage(image,dx,dy)
- * drawImage(image,dx,dy,dw,dh)
- * drawImage(image,sx,sy,sw,sh,dx,dy,dw,dh);
- * image 繪圖物件
- * dx dy canvas 的座標
- * dw,dh 表示 image 即將在canvas中繪圖的位置
- * sw,sh 表示image 所要繪圖的區域
- * sx,sy 所要繪圖的起始位置
- */
- var image = document context.drawImage(image, 0, 0);
- var img
- = new 新 img.src
- = 'images/1.jpg''images/1.jpg';
- img.onload = functionfunction
- // drawImage
- // 從 0,0 座標開始繪製
- // context.drawImage(img,0,0);
- // 從0,且0 開始,繪製完整圖至100,100 長寬
- // context.drawImage(img, 0, 0, 100, 100);
- // 截圖,50,50 到 100,100 從 260,130 開始繪製,並放置至 100,100 260,130 開始繪製,並放置至 100,100 260,130
- // context.drawImage(img, 50, 50, 100,100, 260, 130, 100,
- // 利用getImageData 與 putImageData 繪圖
- context.drawImage(img, 10, 10);
- // 從畫板上取得像素資料
- // 起始位置, 結束位置
- var
- imgData = context
- // 將資料繪製至畫板指定位置座標
- context.putImageData(imgData,10,260);
- // 將所去的像素資料一部分,並畫到畫板上
- context.putImageData(imgData,200,260,50,50,100,100);
- // createImageData 建立像素
- var imgData = context = context
=- context
- // 以建立指定大小的空格物件 var imgData01 = context
=- context
- for (i = = imgData01.width
* imgData01.height * 4; i =4) {
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前
By 尊渡假赌尊渡假赌尊渡假赌
刺客信條陰影:貝殼謎語解決方案
3 週前
By DDD
Windows 11 KB5054979中的新功能以及如何解決更新問題
2 週前
By DDD
威爾R.E.P.O.有交叉遊戲嗎?
1 個月前
By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)
