多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

中國最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2

html5教程

HTML5 參考手冊

拓展閱讀

HTML5 Canvas

閱讀 (2295)

HTML5 Canvas


標簽定義圖形,比如圖表和其他圖像,您必須使用腳本來繪制圖形。

在畫布上(Canvas)畫一個紅色矩形,漸變矩形,彩色矩形,和一些彩色的文字。



什么是 Canvas?

HTML5 元素用于圖形的繪制,通過腳本 (通常是JavaScript)來完成.

標簽只是圖形容器,您必須使用腳本來繪制圖形。

你可以通過多種方法使用Canva繪制路徑,盒、圓、字符以及添加圖像。


瀏覽器支持

Internet ExplorerFirefoxOperaGoogle ChromeSafari

Internet Explorer 9+, Firefox, Opera, Chrome, 和 Safari 支持 元素.

注意: Internet Explorer 8 及更早 IE 版本的瀏覽器不支持 元素.


創建一個畫布(Canvas)

一個畫布在網頁中是一個矩形框,通過 元素來繪制.

注意: 默認情況下 元素沒有邊框和內容。

簡單實例如下:

<canvas id="myCanvas" width="200" height="100"></canvas>

注意: 標簽通常需要指定一個id屬性 (腳本中經常引用), width 和 height 屬性定義的畫布的大小.

提示: 你可以在HTML頁面中使用多個 <canvas> 元素.

使用 style 屬性來添加邊框:

實例

<canvas id="myCanvas" width="200" height="100"
style="border:1px solid #000000;">
</canvas>

嘗試一下 ?



使用 JavaScript 來繪制圖像

canvas 元素本身是沒有繪圖能力的。所有的繪制工作必須在 JavaScript 內部完成:

實例

<script>
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
ctx.fillStyle="#FF0000";
ctx.fillRect(0,0,150,75);
</script> 

嘗試一下 ?

實例解析:

首先,找到 <canvas> 元素:

var c=document.getElementById("myCanvas");

然后,創建 context 對象:

var ctx=c.getContext("2d");

getContext("2d") 對象是內建的 HTML5 對象,擁有多種繪制路徑、矩形、圓形、字符以及添加圖像的方法。

下面的兩行代碼繪制一個紅色的矩形:

ctx.fillStyle="#FF0000";
ctx.fillRect(0,0,150,75);

設置fillStyle屬性可以是CSS顏色,漸變,或圖案。fillStyle默認設置是#000000(黑色)。

fillRect(x,y,width,height) 方法定義了矩形當前的填充方式。


Canvas 坐標

canvas 是一個二維網格。

canvas 的左上角坐標為 (0,0)

上面的 fillRect 方法擁有參數 (0,0,150,75)。

意思是:在畫布上繪制 150x75 的矩形,從左上角開始 (0,0)。



Canvas - 路徑

在Canvas上畫線,我們將使用以下兩種方法:

  • moveTo(x,y) 定義線條開始坐標

  • lineTo(x,y) 定義線條結束坐標

繪制線條我們必須使用到 "ink" 的方法,就像stroke().

實例

定義開始坐標(0,0), 和結束坐標 (200,100). 然后使用 stroke() 方法來繪制線條:

JavaScript:

var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
ctx.moveTo(0,0);
ctx.lineTo(200,100);
ctx.stroke();

嘗試一下 ?

在canvas中繪制圓形, 我們將使用以下方法:

  • arc(x,y,r,start,stop)

實際上我們在繪制圓形時使用了 "ink" 的方法, 比如 stroke() 或者 fill().

實例

使用 arc() 方法 繪制一個圓:

JavaScript:

var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
ctx.beginPath();
ctx.arc(95,50,40,0,2*Math.PI);
ctx.stroke();

嘗試一下 ?



Canvas - 文本

使用 canvas 繪制文本,重要的屬性和方法如下:

  • font - 定義字體

  • fillText(text,x,y) - 在 canvas 上繪制實心的文本

  • strokeText(text,x,y) - 在 canvas 上繪制空心的文本

使用 fillText():

實例

使用 "Arial" 字體在畫布上繪制一個高 30px 的文字(實心):

JavaScript:

var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
ctx.font="30px Arial";
ctx.fillText("Hello World",10,50);

嘗試一下 ?

使用 strokeText():

實例

使用 "Arial" 字體在畫布上繪制一個高 30px 的文字(空心):

JavaScript:

var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
ctx.font="30px Arial";
ctx.strokeText("Hello World",10,50);

嘗試一下 ?



Canvas -  漸變

漸變可以填充在矩形, 圓形, 線條, 文本等等, 各種形狀可以自己定義不同的顏色。

以下有兩種不同的方式來設置Canvas漸變:

  • createLinearGradient(x,y,x1,y1) - 創建線條漸變

  • createRadialGradient(x,y,r,x1,y1,r1) - 創建一個徑向/圓漸變

當我們使用漸變對象,必須使用兩種或兩種以上的停止顏色。

addColorStop()方法指定顏色停止,參數使用坐標來描述,可以是0至1.

使用漸變,設置fillStyle或strokeStyle的值為漸變,然后繪制形狀,如矩形,文本,或一條線。

使用 createLinearGradient():

實例

創建一個線性漸變。使用漸變填充矩形:


JavaScript:

var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");

// Create gradient
var grd=ctx.createLinearGradient(0,0,200,0);
grd.addColorStop(0,"red");
grd.addColorStop(1,"white");

// Fill with gradient
ctx.fillStyle=grd;
ctx.fillRect(10,10,150,80);

嘗試一下 ?

使用 createRadialGradient():

實例

創建一個徑向/圓漸變。使用漸變填充矩形:


JavaScript:

var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");

// Create gradient
var grd=ctx.createRadialGradient(75,50,5,90,60,100);
grd.addColorStop(0,"red");
grd.addColorStop(1,"white");

// Fill with gradient
ctx.fillStyle=grd;
ctx.fillRect(10,10,150,80);

嘗試一下 ?



Canvas - 圖像

把一幅圖像放置到畫布上, 使用以下方法:

  • drawImage(image,x,y)

使用圖像:

The Scream

實例

把一幅圖像放置到畫布上:

JavaScript:

var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
var img=document.getElementById("scream");
ctx.drawImage(img,10,10);

嘗試一下 ?



HTML Canvas 參考手冊

標簽的完整屬性可以參考Canvas 參考手冊.

The HTML Tag

Tag描述
<canvas>HTML5 的 canvas 元素使用 JavaScript 在網頁上繪制圖像。


關閉
程序員人生
主站蜘蛛池模板: 亚洲福利一区 | julia一区二区三区中文字幕 | 国产精品99爱免费视频 | 性欧美video视频另类 | 一区二区三区欧美日韩国产 | 日日夜夜精品免费视频 | 一级做a爱久久久久久久 | 性欧美videofree中文字幕 | 欧美日本高清一本二本三本 | 亚洲国产2017男人a天堂 | 噜噜影院在线视频在线观看 | 成人夜视频| 看全色黄大色大片免费久久久 | 欧美经典剧情系列h版在线观看 | 亚洲男人的天堂久久精品 | 亚洲性图在线 | 久久乐国产精品亚洲综合18 | 九九精品久久久久久久久 | 啪啪国产视频 | 一级做受毛片免费大片 | 久久亚洲人成网站 | 欧美韩一级片 | 欧美性狂猛bbbbbbxxxx | 国产人成精品综合欧美成人 | 欧美白人和黑人xxxx猛交视频 | 精品久久久久久久一区二区伦理 | 337p欧洲亚洲大胆艺术 | 欧美 亚洲 一区 | 国产在线观看一区二区三区 | 秋霞午夜视频 | 毛片大片 | 国产女人伦码一区二区三区不卡 | 久久成人小视频 | 在线观看精品国产福利片尤物 | 美女一级黄色片 | 可以免费观看的黄色网址 | 春色吧 | 18videosex性欧美黑色 | www.亚洲一区 | 中文字幕第6页 | 免费网站成人亚洲 |