Mfano wa Canvas wa DOM wa HTML
Elementi ya <canvas> inadefini eneo la bitmap kwenye ukurasa wa HTML.
API ya Canvas inafaa kwa JavaScript kuandika muundo kwenye kijani.
API ya Canvas inasababisha kuandika muundo, mabomu, mafupi, mabara, matukio na picha, pamoja na rangi, mchekako, viwango vya mafanikio na matukio ya pixel.
Kuingiza Canvas katika HTML
Inaukoma kufikia elementi ya <canvas> kwa kutumia tag ya <canvas> kwenye eneo yoyote ya ukurasa wa HTML:
Msingi
<canvas id="myCanvas" width="300" height="150"></canvas>
Jinsi ya kufikia elementi ya Canvas
Inaukoma kwa kufikia elementi ya <canvas> kwa sababu ya HTML DOM kwa kutumia method ya getElementById():
const myCanvas = document.getElementById("myCanvas");
Kusitishwa uandiko katika msingi, inahitajika kwamba unatoa kiwango cha kiwango cha 2D:
const ctx = myCanvas.getContext("2d");
Kipendeni
Kiwango cha <canvas> cha HTML kina ukubwa wa kufanya uandiko.
Inahitajika kwamba uandiko wa kila rangi kusitishwe kwa JavaScript.
Method ya getContext() inatoa kiwango cha kifunzi cha uandiko (madarasa).
Kufanya uandiko katika msingi
Kufikia kuanza kiwango cha 2D, unaweza kufanya uandiko katika msingi.
Makutano ya fillRect() ya hizi yanatoa msingi wa kawaida kwa rangi ya mabaya, kinasitishwa katika eneo la 20,20. Msingi huo una umbo 150 kati na umbo 100 kati.
Msingi
const myCanvas = document.getElementById("myCanvas"); const ctx = myCanvas.getContext("2d"); ctx.fillRect(20, 20, 150, 100);
Tumia rangi
Majibu ya fillStyle kinaingiza rangi ya muonekano wa kiwango kwa kiumbezi.
Msingi
const myCanvas = document.getElementById("myCanvas"); const ctx = myCanvas.getContext("2d"); ctx.fillStyle = "red"; ctx.fillRect(20, 20, 150, 100);
Unaweza kutumia method ya document.createElement() kukuza kipengele kipya cha <canvas> kwa ukurasa wa HTML wa hivi karibuni:
Msingi
const myCanvas = document.createElement("canvas"); document.body.appendChild(myCanvas); const ctx = myCanvas.getContext("2d"); ctx.fillStyle = "red"; ctx.fillRect(20, 20, 150, 100);
路径
Mwenzako wa uandiko katika msingi ni:
- Kuanza msingi - beginPath()
- Kusafirisha katika nchi - moveTo()
- Kichwa cha njia ya uandiko katika msingi - lineTo()
- Kichwa cha njia ya uandiko - stroke()
Msingi
const canvas = document.getElementById("myCanvas"); const ctx = canvas.getContext("2d"); ctx.beginPath(); ctx.moveTo(20, 20); ctx.lineTo(20, 100); ctx.lineTo(70, 100); ctx.stroke();
Rangi, stili na miguu
Matumizi | Maelezo |
---|---|
fillStyle | Kufanya au kugudia rangi, mizingira ya rangi ama mabaya inayotumika kwa muonekano. |
strokeStyle | Kufanya au kugudia rangi, mizingira ya rangi ama mabaya inayotumika kwa kina. |
shadowColor | Kufanya au kugudia rangi inayotumika kwa miguu. |
shadowBlur | Kufanya au kugudia viwango vya miguu au mabaya ya shadow. |
shadowOffsetX | 设置或返回阴影到形状的水平距离。 |
shadowOffsetY | 设置或返回阴影到形状的垂直距离。 |
Makosa | Maelezo |
---|---|
createLinearGradient() | 创建线性渐变(用于画布内容)。 |
createPattern() | 在指定方向重复指定的元素。 |
createRadialGradient() | 创建径向/圆形渐变(用于画布内容)。 |
addColorStop() | 规定渐变对象中的颜色和停止位置。 |
线条样式
Matumizi | Maelezo |
---|---|
lineCap | 设置或返回线的端盖样式。 |
lineJoin | 设置或返回两条线相交时创建的角的类型。 |
lineWidth | 设置或返回当前线宽。 |
miterLimit | 设置或返回最大斜接长度。 |
矩形
Makosa | Maelezo |
---|---|
rect() | 创建矩形。 |
fillRect() | 绘制“填充的”矩形。 |
strokeRect() | 绘制矩形(无填充)。 |
clearRect() | 清除给定矩形内的指定像素。 |
路径
Makosa | Maelezo |
---|---|
fill() | 填充当前图形(路径)。 |
stroke() | 实际上绘制您定义的路径。 |
beginPath() | 开始路径,或重置当前路径。 |
moveTo() | 将路径移动到画布中的指定点,而不创建线。 |
closePath() | 创建从当前点返回起点的路径。 |
lineTo() | 添加一个新点并创建一条从该点到画布中最后一个指定点的线。 |
clip() | 从原始画布中剪裁任意形状和大小的区域。 |
quadraticCurveTo() | 创建二次贝塞尔曲线。 |
bezierCurveTo() | 创建三次贝塞尔曲线。 |
arc() | 创建圆弧/曲线(用于创建圆或圆的一部分)。 |
arcTo() | 在两条切线之间创建圆弧/曲线。 |
isPointInPath() | 如果指定点在当前路径中,则返回 true,否则返回 false。 |
转换
Makosa | Maelezo |
---|---|
scale() | 放大或缩小当前图形。 |
rotate() | 旋转当前图形。 |
translate() | 重新映射画布上的 (0,0) 位置。 |
transform() | Kichukua jadili ya uharibifu wa uharibifu wa hivi karibuni. |
setTransform() | Kuondoa maelezo wa uharibifu wa siku kwa siku kwa kumaliza jadili ya uharibifu. Kisha kumwinda transform(). |
Maelezo
Matumizi | Maelezo |
---|---|
font | Mkinga ama kuuwa wa maelezo wa fonti wa uharibifu wa hivi karibuni. |
textAlign | Mkinga au setia ama kuuwa wa maelezo wa uharibifu wa hivi karibuni. |
textBaseline | 设置或返回绘制文本时使用的当前文本基线。 |
Makosa | Maelezo |
---|---|
fillText() | 在画布上绘制“填充”文本。 |
strokeText() | 在画布上绘制文本(无填充)。 |
measureText() | 返回包含指定文本宽度的对象。 |
图像绘制
Makosa | Maelezo |
---|---|
drawImage() | 在画布上绘制图像、画布或视频。 |
像素操作
Matumizi | Maelezo |
---|---|
width | 返回 ImageData 对象的宽度。 |
height | 返回 ImageData 对象的高度。 |
data | 返回包含指定 ImageData 对象的图像数据的对象。 |
Makosa | Maelezo |
---|---|
createImageData() | 创建新的空白 ImageData 对象。 |
getImageData() | 返回 ImageData 对象,该对象复制画布上指定矩形的像素数据。 |
putImageData() | Inaingiza data ya picha ( kutoka kwa kiwango cha ImageData kirefu) kwenye picha ya kichwa. |
Mchekoto
Matumizi | Maelezo |
---|---|
globalAlpha | Inasaidia kuwapa au kutumia uwezo wa kuzingatia upekee wa kuzingatia upekee wa kuzingatia upekee wa picha. |
globalCompositeOperation | Inasaidia kuwapa au kutumia uwezo wa kuandaa picha kwa picha inayotumiwa kwa kuzingatia picha inayotumiwa kwa kuzingatia picha inayotumiwa kwa kuzingatia picha. |
Mengine
Makosa | Maelezo |
---|---|
save() | Inahifadhi hali ya kiwango cha kiwango cha hali ya hivi karibuni. |
restore() | Inarudia hali na matumizi ya kiwango cha kiwango cha mstari wa hali iliyopangwa hivi karibuni. |
createEvent() | |
getContext() | |
toDataURL() |
Matumizi ya kawaida na matukio ya kawaida
Canvas inasaidia matumizi ya kawaida na matukioMatumizinaMatukio.
Vipengele vya vingine
Mafunzo wa HTML:Canvas ya HTML5
Mafunzo ya HTML image:Mafunzo wa HTML Canvas
Mwongozo wa HTML:HTML <canvas> taji