溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

web開發(fā)中canvas是什么意思

發(fā)布時(shí)間:2021-12-22 11:24:06 來(lái)源:億速云 閱讀:289 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要介紹了web開發(fā)中canvas是什么意思,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

canvas是什么意思?

英文中 Canvas 的意思是“畫布”,不過(guò)這里說(shuō)的 Canvas 是 HTML5 中新出的一個(gè)元素,開發(fā)者可以在上面繪制一系列圖形。Canvas 在 HTML 文件中的寫法很簡(jiǎn)單:

<canvas id="canvas" width="寬度" height="高度"></canvas>

其中 id 屬性是所有 HTML 元素都可以用的,Canvas 自帶的屬性只有后面兩個(gè)(分別控制寬度、高度),沒有其它的了。至于兼容性,CanIUse 上面寫了,基礎(chǔ)的功能目前用戶使用的 90% 的瀏覽器都支持,所以大部分情況下還是可以放心使用的。

注意,一定要使用 Canvas 自帶的 width 和 height 屬性,不要使用 CSS 來(lái)控制,因?yàn)?CSS 控制會(huì)導(dǎo)致 Canvas 變形??梢栽囍c PhptpShop 對(duì)比一下,后者是改變“圖像大小”,前者才是正確的改變“畫布大小”。例如下圖是三張圖片的橫向拼接:最左邊的黑框中是大小為 50px * 50px 的原圖;中間是改變了圖像大小為 100px * 100px 的效果,圖像變得模糊,但是對(duì)于圖像本身來(lái)說(shuō)坐標(biāo)范圍并沒有變大;最右邊才是正確的 100px * 100px 的 Canvas。

Canvas 絕大部分的繪圖方法都與 <canvas> 標(biāo)簽無(wú)關(guān),需要使用 JavaScript 對(duì)其進(jìn)行操作,這就是所謂的 Canvas API。

我們首先獲取到這個(gè)元素:

var canvas = document.getElementById('canvas');

然后通過(guò)一個(gè)方法來(lái)獲取可以調(diào)用一切 Canvas API 的入口:

var ctx = canvas.getContext('2d');

看到 2d 是不是很激動(dòng)地聯(lián)想到有沒有 3d 呢?沒有 3d 的寫法,不過(guò)如果想要開啟 3D 世界的大門,則可以寫 canvas.getContext('webgl')。然而 WebGL 是基于 OpenGL ES 2.0 的一套標(biāo)準(zhǔn),與本文是徹徹底底的兩條路,因此這里就不討論了。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“web開發(fā)中canvas是什么意思”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI