元素是HTML5中的新元素,通過使用該元素,你可以在網頁中繪制所需的圖形。">
大學生新聞網,大學生新聞發布平臺
大學生新聞網
大學生新聞大學生活校園文學大學生村官
社會實踐活動社會實踐經歷社會實踐報告社會實踐總結社會實踐心得
全國排名校友會版軟科排名分類排名本科排名一本排名二本排名專科排名學校地址
求職簡歷職場法則面試技巧職場故事求職招聘大學生就業
英語學習計算機學習電氣工程機械工程經濟管理建筑設計財務會計
申請書證明書檢討書自薦信演講稿心得體會調查報告讀后感求職信推薦信其它范文

HTML5 Canvas

HTML5 Canvas
<canvas>元素是HTML5中的新元素,通過使用該元素,你可以在網頁中繪制所需的圖形。

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

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

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

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

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

瀏覽器支持
Internet Explorer Firefox Opera Google Chrome Safari

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

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

創建一個畫布(Canvas)
一個畫布在網頁中是一個矩形框,通過 <canvas> 元素來繪制.

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

<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)。

坐標實例

如下圖所示,畫布的 X 和 Y 坐標用于在畫布上對繪畫進行定位。



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>元素創建徑向漸變的時候 context.createRadialGradient(x , y , r , x1 , y1 , r1) 括號內的參數有如下的含義:

x:表示漸變的開始圓的 x 坐標
y:表示漸變的開始圓的 y 坐標
r:表示開始圓的半徑
x1:表示漸變的結束圓的 x 坐標
y1:表示漸變的結束圓的 y 坐標
r1:表示結束圓的半徑
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 在網頁上繪制圖像。
 
    作者:大學生新聞網    來源:大學生新聞網
    發布時間:2025-03-30    閱讀:
    掃一掃 分享悅讀
  • HTML5 內聯 SVG
  • SVG表示可縮放矢量圖形,是基于可擴展標記語言(標準通用標記語言的子集),用于描述二維矢量圖形的一種圖形格式,它在2003年1月14日成
  • 03-30 關注:0
  • HTML5 Canvas
  • 元素是HTML5中的新元素,通過使用該元素,你可以在網頁中繪制所需的圖形。
  • 03-30 關注:0
  • HTML5 新元素
  • 自1999年以后HTML 4.01 已經改變了很多,今天,在HTML 4.01中的幾個已經被廢棄,這些元素在HTML5中已經被刪除或重新定義。
  • 03-30 關注:0
  • CSS 總結
  • 你已經學習了CSS,下一步學習什么呢?
  • 03-30 關注:0
  • CSS 屬性選擇器
  • 顧名思義,CSS 屬性選擇器就是指可以根據元素的屬性以及屬性值來選擇元素。
  • 03-30 關注:0
  • CSS 媒體類型
  • 媒體類型允許你指定文件將如何在不同媒體呈現。該文件可以以不同的方式顯示在屏幕上,在紙張上,或聽覺瀏覽器等等。
  • 03-30 關注:1
  • CSS 圖像拼合技術
  • 有許多圖像的網頁可能需要很長的時間來加載和生成多個服務器的請求。
  • 03-30 關注:1
主站蜘蛛池模板: 99久久综合狠狠综合久久一区| 18禁止看的免费污网站| 又大又硬又爽又深免费看| 131美女爱做免费毛片| 国语精品视频在线观看不卡| 免费黄色福利视频| 亚洲日韩中文字幕一区| 国产午夜无码福利在线看网站| 色吊丝永久性观看网站大全| 亚洲日产韩国一二三四区| 国产超碰人人爽人人做人人添| 麻豆视频免费看| 乳孔被撑开乳孔改造里番 | 亚洲成年人网址| 国产精品久久久久久久福利院| 欧美日韩国产精品自在自线| 69视频在线观看高清免费| 国产成人精品亚洲| 日韩久久无码免费毛片软件| 青青热久久久久综合精品| 中文字幕免费在线观看| 免费成人在线网站| 国精品无码一区二区三区在线| 欧洲mv日韩mv国产| 青青操免费在线观看| 一级做a爱片久久毛片| 国产精品免费一区二区三区四区 | 久久久久九九精品影院| 又黄又刺激视频| 国产精品美女久久久久| 日日噜狠狠噜天天噜av| 男生女生一起差差差视频| 99在线精品视频在线观看| 亚洲伊人色欲综合网| 国产99视频精品草莓免视看| 天堂а√在线地址中文在线| 明星造梦一区二区| 网址你懂的在线观看| 久久精品国产99久久99久久久| 亚洲香蕉免费有线视频| 国产亚洲精品精品精品|