溫馨提示×

溫馨提示×

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

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

HTML5 canvas 詳細(xì)

發(fā)布時間:2020-06-13 11:39:23 來源:網(wǎng)絡(luò) 閱讀:249 作者:web全棧 欄目:web開發(fā)

HTML5畫布描述

HTML5?<canvas>標(biāo)簽用于通過腳本(通常是JavaScript)動態(tài)繪制圖形。 但是,<canvas>元素沒有自己的繪圖功能(它只是圖形的容器), 您必須使用腳本來實際繪制圖形。 getContext()方法返回一個對象,該對象提供在畫布上繪制的方法和屬性。此參考將介紹getContext("2d")對象的屬性和方法,可用于在畫布上繪制文本,線條,方框,圓圈等。

瀏覽器支持

下表是各主流瀏覽器對<canvas>元素的支持情況:

顏色樣式和陰影

下表是畫布顏色樣式和陰影相關(guān)的屬性?:

屬性 描述
fillStyle 設(shè)置或返回用于填充繪圖的顏色、漸變或圖案
strokeStyle 設(shè)置或返回用于筆畫的顏色、漸變或圖案
shadowColor 設(shè)置或返回用于陰影的顏色
shadowBlur 設(shè)置或返回陰影的模糊級別
shadowOffsetX 設(shè)置或返回陰影與形狀的水平距離
shadowOffsetY 設(shè)置或返回陰影與形狀的垂直距離

下表是畫布顏色樣式和陰影相關(guān)的方法?:

方法 描述
createLinearGradient() 創(chuàng)建一個線性漸變(用于畫布內(nèi)容)
createPattern() 按指定的方向重復(fù)指定的元素
createRadialGradient() 創(chuàng)建一個徑向/圓形漸變(用于畫布內(nèi)容)
addColorStop() 指定漸變對象中的顏色和停止位置

線條樣式

下表是線條相關(guān)的屬性?:

屬性 描述
lineCap 設(shè)置或返回一行的結(jié)束大寫字母的樣式
lineJoin 設(shè)置或返回創(chuàng)建的角的類型,當(dāng)兩行相交時
lineWidth 設(shè)置或返回當(dāng)前行寬度
miterLimit 設(shè)置或返回最大斜接長度

矩形

下表是矩形相關(guān)的方法?:

方法 描述
rect() 創(chuàng)建一個矩形
fillRect() 繪制一個“填充”矩形
strokeRect() 繪制矩形(無填充)
clearRect() 清除給定矩形內(nèi)的指定像素

畫布路徑

下表是畫布路徑相關(guān)的方法?:

方法 描述
fill() 填充當(dāng)前繪圖(路徑)
stroke() 畫出你定義的路徑
beginPath() 開始一個路徑,或重置當(dāng)前路徑
moveTo() 將路徑移動到畫布中的指定點,而不創(chuàng)建一條線
closePath() 創(chuàng)建從當(dāng)前點到起點的路徑
lineTo() 從畫布中最后指定的點添加一個新點并在該點上創(chuàng)建一條線
clip() 從原始畫布上剪輯任何形狀和大小的區(qū)域
quadraticCurveTo() 創(chuàng)建一個二次貝塞爾曲線
bezierCurveTo() 創(chuàng)建一個立方貝塞爾曲線
arc() 創(chuàng)建圓弧/曲線(用于創(chuàng)建圓或圓的一部分)
arcTo() 在兩個切線之間創(chuàng)建一個弧/曲線
isPointInPath() 如果指定點在當(dāng)前路徑中,則返回true,否則為false

畫布轉(zhuǎn)換

下表是轉(zhuǎn)換相關(guān)的方法?:

方法 描述
scale() 按比例縮放當(dāng)前繪制的圖形或大或小
rotate() 旋轉(zhuǎn)當(dāng)前繪圖
translate() 在畫布上從(0,0)位置重新繪制
transform() 替換當(dāng)前繪圖的變換矩陣
setTransform() 將當(dāng)前變換重置為單位矩陣。然后運行transform()

畫布文本

下表是畫布文本相關(guān)的屬性?:

屬性 描述
font 設(shè)置或返回文本內(nèi)容的當(dāng)前字體屬性
textAlign 設(shè)置或返回文本內(nèi)容的當(dāng)前對齊方式
textBaseline 設(shè)置或返回繪制文本時使用的當(dāng)前文本基線

下表是畫布文本相關(guān)的方法?:

方法 描述
fillText() 在畫布上繪制“填充”文本
strokeText() 在畫布上繪制文本(無填充)
measureText() 返回一個包含指定文本寬度的對象

圖像繪制

下表是畫布圖像繪制相關(guān)的方法?:

方法 描述
drawImage() 在畫布上繪制圖像、畫布或視頻

像素操作

下表是畫布像素操作相關(guān)的屬性?:

屬性 描述
width 返回ImageData對象的寬度
height 返回ImageData對象的高度
data 返回包含指定ImageData對象的圖像數(shù)據(jù)的對象

下表是畫布像素操作相關(guān)的方法?:

屬性 方法
createImageData() 創(chuàng)建一個新的空白ImageData對象
getImageData() 返回一個ImageData對象,該對象復(fù)制畫布上指定矩形的像素數(shù)據(jù)
putImageData() 將圖像數(shù)據(jù)(來自指定的ImageData對象)放回畫布

畫布合成

下表是畫布合成相關(guān)的屬性?:

屬性 描述
globalAlpha 設(shè)置或返回繪圖的當(dāng)前alpha或透明度值
globalCompositeOperation 設(shè)置或返回如何將新映像繪制到現(xiàn)有映像上

其他

下表是畫布其他一些方法?:

方法 描述
save() 保存當(dāng)前上下文的狀
restore() 返回先前保存的路徑狀態(tài)和屬
createEvent() 創(chuàng)建一個事件
getContext() 獲取畫布上的內(nèi)容
toDataURL()
向AI問一下細(xì)節(jié)

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

AI