<canvas>ï¼ç¹ªåç«å¸å ç´
Baseline
Widely available
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since â¨2015å¹´7æâ©.
ä½¿ç¨ HTML <canvas> å
ç´ è canvas è
³æ¬ API æ WebGL API ä¾ç¹ªè£½åå½¢ååç«ã
屬æ§
æ¤å ç´ ç屬æ§å æ¬å ¨å屬æ§ã
height-
以 CSS åç´ çºå®ä½ç座æ¨ç©ºéé«åº¦ãé»èªå¼çº 150ã
moz-opaqueNon-standard å·²æ£ç¨-
è®ç«å¸ç¥éæ¯å¦éæåº¦å°æçºä¸åå ç´ ã妿ç«å¸ç¥éæ²æéæåº¦ï¼ç¹ªåæ§è½å¯ä»¥åªåãéå åå°åºæ¼ Mozilla ççè¦½å¨æ¯æï¼è«æ¹ç¨æ¨æºåç
canvas.getContext('2d', { alpha: false })ã width-
以 CSS åç´ çºå®ä½ç座æ¨ç©ºé寬度ãé»èªå¼çº 300ã
ä½¿ç¨æ³¨æäºé
>æ¿ä»£å §å®¹
ä½ æè©²å¨ <canvas> åå¡å
§æä¾æ¿ä»£å
§å®¹ã該å
§å®¹å°å¨èç䏿¯æ canvas çç覽å¨ä»¥åç¦ç¨ JavaScript çç覽å¨ä¸åç¾ã
éé </canvas> æ¨ç±¤
è <img> å
ç´ ä¸åï¼<canvas> å
ç´ éè¦ä½¿ç¨ééæ¨ç±¤ï¼</canvas>ï¼ã
ä½¿ç¨ CSS è HTML 調æ´ç«å¸å¤§å°
ç«å¸ç顯示大å°å¯ä»¥ä½¿ç¨ CSS æ´æ¹ï¼ä½å¦æé樣åï¼åå卿¸²ææéå°è¢«ç¸®æ¾ä»¥é©ææ¨£å¼å¤§å°ï¼éå¯è½æä½¿æçµå形渲æè®å½¢ã
æå¥½ç´æ¥å¨ HTML ä¸æä½¿ç¨ JavaScript ééå¨ <canvas> å
ç´ ä¸ç´æ¥è¨ç½® width å height 屬æ§ä¾æå®ç«å¸å°ºå¯¸ã
æå¤§ç«å¸å°ºå¯¸
<canvas> å
ç´ ç確åæå¤§å°ºå¯¸å決æ¼ç覽å¨åç°å¢ãéç¶å¨å¤§å¤æ¸æ
æ³ä¸ï¼æå¤§å°ºå¯¸è¶
é 10,000 x 10,000 åç´ ï¼ä½ç¹å¥æ¯ iOS è¨åå°ç«å¸å°ºå¯¸éå¶çºå
4,096 x 4,096 åç´ ãè«åè¦ä¸åç覽å¨åè¨åä¸çç«å¸å¤§å°éå¶ã
å註ï¼è¶ åºæå¤§å°ºå¯¸æé¢ç©æä½¿ç«å¸ç¡æ³ä½¿ç¨ââ繪製å½ä»¤å°ç¡æ³éä½ã
使ç¨é¢å±ç«å¸
å¯ä»¥ä½¿ç¨ OffscreenCanvas API 渲æç«å¸ï¼å
¶ä¸ææªåç«å¸æ¯è§£è¦çã
å¥½èæ¯å·¥ä½ç·ç¨ å¯ä»¥èçç«å¸æ¸²æï¼ä½ ç Web æç¨ç¨åºç主ç·ç¨ä¸æè¢«ç«å¸æä½é»å¡ã
éé並è¡åå·¥ä½ï¼å³ä½¿å¨é¢å±ç«å¸ä¸éè¡å¾©éçåå½¢ï¼ä½ Web æç¨ç¨åºçå
¶ä» UI å
ç´ ä¹å°ä¿æé¿æã
æéæ´å¤ä¿¡æ¯ï¼è«åè¦ OffscreenCanvas API ææªã
ç¯ä¾
>HTML
æ¤ä»£ç¢¼ç段å°ä¸åç«å¸å ç´ æ·»å å°ä½ ç HTML ææªä¸ã妿ç覽å¨ç¡æ³è®åææ¸²æç«å¸ï¼åæä¾äºä¸åæ¿ä»£ææ¬ã
<canvas width="120" height="120">
An alternative text describing what your canvas displays.
</canvas>
JavaScript
ç¶å¾å¨ JavaScript 代碼ä¸ï¼èª¿ç¨ HTMLCanvasElement.getContext() ä¾ç²å繪åä¸ä¸æä¸¦éå§ç¹ªè£½å°ç«å¸ä¸ï¼
const canvas = document.querySelector("canvas");
const ctx = canvas.getContext("2d");
ctx.fillStyle = "green";
// Add a rectangle at (10, 10) with size 100x100 pixels
ctx.fillRect(10, 10, 100, 100);
çµæ
ç¡éç¤è°é¡
>æ¿ä»£å §å®¹
<canvas> å
ç´ æ¬èº«åªæ¯ä¸åä½åï¼ä¸¦ä¸æä¾æéä»»ä½ç¹ªè£½å°è±¡çä¿¡æ¯ãç«å¸å
§å®¹ä¸æåèªç¾©å HTML 䏿¨£æ´é²çµ¦ç¡éç¤å·¥å
·ãé常æ
æ³ä¸ï¼æè©²é¿å
å¨å¯è¨ªåçç¶²ç«ææç¨ç¨åºä¸ä½¿ç¨ç«å¸ã以䏿åå¯ä»¥å¹«å©ä½¿å
¶æ´å 訪åã
æè¡æè¦
| å §å®¹é¡å | æµå §å®¹ã段è½åå §å®¹ãåµå ¥åå §å®¹ãæ«åå §å®¹ã |
|---|---|
| å 許çå §å®¹ |
éæï¼ä½ä¸å
å«äºååå
§å®¹çå¾ä»£ï¼é¤äº <a> å
ç´ ã<button> å
ç´ å type 屬æ§çº checkboxãradio æ button ç
<input> å
ç´ ã
|
| æ¨ç±¤çç¥ | ä¸å 許ï¼éå§åçµææ¨ç±¤é½æ¯å¿ é çã |
| å 許çç¶å ç´ | 任使¥å段è½åå §å®¹çå ç´ ã |
| é±å«ç ARIA è§è² | æ²æç¸å°æçè§è² |
| å 許ç ARIA è§è² | ä»»ä½ |
| DOM ä»é¢ | HTMLCanvasElement |
è¦ç¯
| Specification |
|---|
| HTML > # the-canvas-element > |
ç覽å¨ç¸å®¹æ§
åè¦
- Canvas API
- Canvas æç¨
- OffscreenCanvas
- Canvas éæ¥è¡¨ (2009)
- Canvas éæ¥è¡¨ï¼pdfï¼ï¼2015ï¼
- Safari HTML ç«å¸æå éé Appleï¼2013ï¼
CanvasRenderingContext2Dç«å¸å ç´ ç 2D 繪åä¸ä¸æ éé Apple.com- WebGL API
<img>- SVG
- ä½¿ç¨ HTML é³é »åå½±ç