JS---canvas

瀏覽器支持

Internet Explorer 9、Firefox、Opera、Chrome 以及 Safari 支持 <canvas> 及其屬性和方法。
注釋:Internet Explorer 8 以及更早的版本不支持 <canvas> 元素。


width/height 屬性

畫布的寬高。和一幅圖像一樣,這個(gè)屬性可以指定為一個(gè)整數(shù)像素值或者是窗口寬度的百分比。當(dāng)這個(gè)值改變的時(shí)候,在該畫布上已經(jīng)完成的任何繪圖都會(huì)擦除掉。默認(rèn)值是 300


Canvas 對(duì)象的方法

 var canvas = document.getElementById('canvas);
 var ctx = canvas.getContext('2d');   //返回一個(gè)用于在畫布上繪圖的環(huán)境。

顏色、樣式和陰影

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

方法 描述
createLinearGradient(x開始,y開始,x結(jié)束,y結(jié)束) 創(chuàng)建線性漸變(用在畫布內(nèi)容上)
createPattern(image,"repeat或repeat-x或repeat-y或no-repeat") 在指定的方向上重復(fù)指定的元素
createRadialGradient(x開始,y開始,r開始半徑,x1結(jié)束,y1結(jié)束,r1結(jié)束半徑) 創(chuàng)建放射狀/環(huán)形的漸變(用在畫布內(nèi)容上)
addColorStop(stop,color) 規(guī)定漸變對(duì)象中的顏色和停止位置

線條樣式

屬性 描述
lineCap 設(shè)置或返回線條的結(jié)束端點(diǎn)樣式
lineJoin 設(shè)置或返回兩條線相交時(shí),所創(chuàng)建的拐角類型
lineWidth 設(shè)置或返回當(dāng)前的線條寬度
miterLimit 設(shè)置或返回最大斜接長(zhǎng)度

矩形

方法 描述
rect(矩形左上角x坐標(biāo),矩形左上角y坐標(biāo),width,height) 創(chuàng)建矩形
fillRect(x,y,width,height) 繪制“被填充”的矩形
strokeRect(x,y,width,height) 繪制矩形(無填充)
clearRect(x,y,width,height) 在給定的矩形內(nèi)清除指定的像素

路徑

方法 描述
fill() 填充當(dāng)前繪圖(路徑)
stroke() 繪制已定義的路徑
beginPath() 起始一條路徑,或重置當(dāng)前路徑
moveTo(x,y) 把路徑移動(dòng)到畫布中的指定點(diǎn),不創(chuàng)建線條
closePath() 創(chuàng)建從當(dāng)前點(diǎn)回到起始點(diǎn)的路徑
lineTo(x,y) 添加一個(gè)新點(diǎn),然后在畫布中創(chuàng)建從該點(diǎn)到最后指定點(diǎn)的線條
clip() 從原始畫布剪切任意形狀和尺寸的區(qū)域
quadraticCurveTo(cpx,cpy,x,y) 創(chuàng)建二次貝塞爾曲線
bezierCurveTo(cp1x,cp1y,cp2x,cp2y,x,y) 創(chuàng)建三次方貝塞爾曲線
arc(x,y,r,sAngle,eAngle,counterclockwise) 創(chuàng)建弧/曲線(用于創(chuàng)建圓形或部分圓)
arcTo(x1,y1,x2,y2,r) 創(chuàng)建兩切線之間的弧/曲線
isPointInPath(x,y) 如果指定的點(diǎn)位于當(dāng)前路徑中,則返回 true,否則返回 false

轉(zhuǎn)換

方法 描述
scale(scalewidth,scaleheight) 縮放當(dāng)前繪圖至更大或更小
rotate(angle) 旋轉(zhuǎn)當(dāng)前繪圖
translate(x,y) 重新映射畫布上的 (0,0) 位置
transform(水平縮放繪圖,水平傾斜繪圖,垂直傾斜繪圖,垂直縮放繪圖,水平移動(dòng)繪圖,垂直移動(dòng)繪圖) 替換繪圖的當(dāng)前轉(zhuǎn)換矩陣
setTransform(參數(shù)同上) 將當(dāng)前轉(zhuǎn)換重置為單位矩陣。然后運(yùn)行 transform()

文本

屬性 描述
font 設(shè)置或返回文本內(nèi)容的當(dāng)前字體屬性
textAlign 設(shè)置或返回文本內(nèi)容的當(dāng)前對(duì)齊方式
textBaseline 設(shè)置或返回在繪制文本時(shí)使用的當(dāng)前文本基線
方法 描述
fillText(text,x,y,maxWidth) 在畫布上繪制“被填充的”文本
strokeText(text,x,y,maxWidth) 在畫布上繪制文本(無填充)
measureText(text) 返回包含指定文本寬度的對(duì)象

圖像繪制

方法 描述
drawImage(img,sx,sy,swidth,sheight,x,y,width,height) 向畫布上繪制圖像、畫布或視頻

像素操作

屬性 描述
width 返回 ImageData 對(duì)象的寬度
height 返回 ImageData 對(duì)象的高度
data 返回一個(gè)對(duì)象,其包含指定的 ImageData 對(duì)象的圖像數(shù)據(jù)
方法 描述
createImageData() 創(chuàng)建新的、空白的 ImageData 對(duì)象
getImageData(x,y,width,height) 返回 ImageData 對(duì)象,該對(duì)象為畫布上指定的矩形復(fù)制像素?cái)?shù)據(jù)
putImageData(imgData,x,y,dirtyX,dirtyY,dirtyWidth,dirtyHeight) 把圖像數(shù)據(jù)(從指定的 ImageData 對(duì)象)放回畫布上
合成
屬性 描述
globalAlpha 設(shè)置或返回繪圖的當(dāng)前 alpha 或透明值
globalCompositeOperation 設(shè)置或返回新圖像如何繪制到已有的圖像上

其他

方法 描述
save() 保存當(dāng)前環(huán)境的狀態(tài)
restore() 返回之前保存過的路徑狀態(tài)和屬性
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 瀏覽器支持 Internet Explorer 9、Firefox、Opera、Chrome 以及 Safari ...
    寒梁沐月閱讀 146評(píng)論 0 0
  • 瀏覽器支持 Internet Explorer 9、Firefox、Opera、Chrome 以及 Safari ...
    鳳凰跑跑閱讀 466評(píng)論 0 0
  • “模糊是多么 多么寂寞;模糊是多么 多么空虛;獨(dú)自在清晰中,對(duì)比不斷地掃過;我的寂寞,誰能明白我;模糊是多么 多么...
    smilewalker閱讀 5,461評(píng)論 2 8
  • "它畫筆的名堂呢,稱之為九天十地,web點(diǎn)頭啪啪,霹靂金光雷電掌!一筆畫出,方圓百里之內(nèi),不論顏色,狀態(tài),紋理,全...
    smilewalker閱讀 2,165評(píng)論 0 1
  • 在JavaScript中, <canvas> 標(biāo)簽用于繪制圖像,畫布是一個(gè)矩形區(qū)域,可以控制其每一像素。 不過,<...
    杰森999閱讀 2,159評(píng)論 2 4

友情鏈接更多精彩內(nèi)容