瞭解canvas畫布
一、什麼是 Canvas?
- HTML5 的 canvas 元素使用 JavaScript 在網頁上繪製影像
- 畫布是一個矩形區域,可以控制其每一畫素
- canvas 擁有多種繪製路徑、矩形、圓形、字元以及新增影像的方法
二、canvas基本使用
- 新增canvas元素(建立畫布)
<canvas id="myCanvas" width="300" height="300"> </canvas>
canvas畫布的預設尺寸是300*150
- 通過JavaScript繪製影像
<script>
// 1、獲取到canvas元素
var c= document.getElementById("myCanvas");
// 2、執行上下文(繪製畫筆)
var ctx= c.getContext('2d');
// 3、填充矩形
ctx.fillRect(30, 30, 100, 100);
</script>
三、繪製的方法
繪製矩形
<canvas id="myCanvas" width="200" height="100"></canvas>
<script>
//根據指定id,得到物件
var c=document.getElementById("myCanvas");
//然後建立context物件
var cxt=c.getContext("2d");
//fillStyle屬性可以填充顏色。
cxt.fillStyle="pink";
cxt.fillRect(0,0,150,75);
</script>
繪製線條
<canvas id="myCanvas" width="200" height="100"></canvas>
<script>
//根據指定id,得到物件
var c=document.getElementById("myCanvas");
//然後建立context物件
var cxt=c.getContext("2d");
cxt.beginPath();//開始繪製路徑(可寫),可理解為斷點,如果只有一個可不寫,若有多個線條,讓上一個和下一個不受影響,就要加上此方法
cxt.moveTo(10,10); //移動到指定位置,開始座標
cxt.lineTo(150,50); //建立到達位置的一條線,結束座標
cxt.lineTo(10,50);
cxt.strokeStyle="pink"; //路徑顏色
cxt.lineWidth="5"; // 線寬
cxt.stroke(); //進行繪製(結束,顏色,寬度等都在裡面進行)
</script>
繪製圓
<canvas id="myCanvas" width="200" height="100"></canvas>
<script>
//根據指定id,得到物件
var c=document.getElementById("myCanvas");
//然後建立context物件
var cxt=c.getContext("2d");
cxt.beginPath();
cxt.strokeStyle = "pink";
//arc(x,y,半徑,起始角度0,結束角度2*Math.PI)
cxt.arc(95,50,40,0,2*Math.PI);
cxt.stroke();
</script>
案例:繪製太極圖
<canvas id="cv" width="300px" height="300px"></canvas>
<script>
var canvas = document.getElementById("cv");
var context = canvas.getContext("2d");
context.beginPath();
context.arc(100,100,100,0,Math.PI*2);
context.closePath();
context.stroke();
context.beginPath();
context.arc(100,100,100,1.5,Math.PI*1.5);
context.closePath();
context.fill();
context.beginPath();
context.arc(100,50,50,0,Math.PI*2);
context.fillStyle = "white";
context.closePath();
context.fill();
context.beginPath();
context.arc(100,150,50,0,Math.PI*2);
context.fillStyle = "black";
context.closePath();
context.fill();
context.beginPath();
context.arc(100,50,15,0,Math.PI*2);
context.fillStyle = "black";
context.closePath();
context.fill();
context.beginPath();
context.arc(100,150,15,0,Math.PI*2);
context.fillStyle = "white";
context.closePath();
context.fill();
</script>
相關文章
- Tkinter (03) 畫布部件 CanvasCanvas
- canvas畫布效果程式碼Canvas
- html5畫布canvasHTMLCanvas
- canvas簡單的畫布動畫 - KaiqisanCanvas動畫AI
- canvas畫布基本知識點總結Canvas
- 如何抓取canvas畫布中的圖片Canvas
- CSS與canvas屬性設定畫布尺寸CSSCanvas
- CSS 與 canvas 屬性設定畫布尺寸CSSCanvas
- html5中canvas元素建立畫布介紹HTMLCanvas
- canvas學習筆記-2d畫布基礎Canvas筆記
- CSS和canvas標籤設定畫布尺寸區別CSSCanvas
- 基於canvas畫布的兩個炫酷效果展示Canvas
- HTML5 Canvas(畫布)實戰程式設計初級篇:基本介紹和基礎畫布元素HTMLCanvas程式設計
- canvas畫素畫板Canvas
- HTML5畫布canvas隨機生成圓形和正方形HTMLCanvas隨機
- Android 利用 Canvas 畫畫板AndroidCanvas
- 商業模式畫布模式
- 你真的瞭解css畫素嘛?CSS
- Android 畫圓弧canvas.drawArc() 詳解AndroidCanvas
- css設定canvas畫布尺寸與width和height設定的區別CSSCanvas
- 用canvas 畫煙花Canvas
- canvas畫圖採坑Canvas
- canvas 畫進度條Canvas
- 畫布就是一切(一)— 畫布程式設計的基本模式程式設計模式
- AnyForWeb分享:畫素!你真的瞭解嗎?Web
- 微信小程式-畫布元件微信小程式元件
- 實現畫布的效果
- HTML5畫布概述HTML
- HTML5畫布: clearRect()HTML
- 你的商業模式畫布畫好了沒?模式
- JDK10都發布了,nio你瞭解多少?JDK
- canvas因為圖片資源不在同一域名下而導致的跨域汙染畫布的解決辦法Canvas跨域
- canvas簡單畫板效果Canvas
- Canvas畫圖-滑鼠塗鴉Canvas
- canvas 1px畫素模糊現象解決方案Canvas
- canvas 1px 畫素模糊現象解決方案Canvas
- SVG viewport視口和畫布SVGView
- 元件註冊與畫布渲染元件