Baseline Widely available
ImageData()
ã³ã³ã¹ãã©ã¯ã¿ã¼ã¯ã渡ãããåä»ãé
åããæ§ç¯ãããæå®ãããå¹
ã¨é«ããæã¤æ°è¦çæããã ImageData
ãªãã¸ã§ã¯ããè¿ãã¾ãã
ãã®ã³ã³ã¹ãã©ã¯ã¿ã¼ã¯ãWorker
å
ã§ãã®ãããªãªãã¸ã§ã¯ããçæããã®ã«è¯ãæ¹æ³ã§ãã
new ImageData(width, height)
new ImageData(width, height, settings)
new ImageData(dataArray, width)
new ImageData(dataArray, width, height)
new ImageData(dataArray, width, height, settings)
弿°
width
ç»åã®å¹
ã表ã unsigned long
å¤ã§ãã
height
ç»åã®é«ãã表ã unsigned long
å¤ã§ããé
åãæ¸¡ãå ´åãã®å¤ã¯çç¥å¯è½ã§ãé
åã®ãµã¤ãºã¨æå®ãããå¹
ããè¨ç®ããã¾ãã
settings
çç¥å¯
以ä¸ã®ããããã£ãæã¤ãªãã¸ã§ã¯ãã§ãã
colorSpace
: ç»åãã¼ã¿ã®è²ç©ºéãæå®ãã¾ããsRGB è²ç©ºéã表ã "srgb"
ã¾ã㯠display-p3 è²ç©ºéã表ã "display-p3"
ãè¨å®ã§ãã¾ããdataArray
ç»åã®ãã¯ã»ã«è¡¨ç¾ãå
¥ã£ã Uint8ClampedArray
ã§ãããã®é
åãæ¸¡ããªãå ´åã¯ãæå®ã® width
㨠height
ããã¤éæãªé»ã®é·æ¹å½¢ç»åãçæããã¾ãã
æ°ãã ImageData
ãªãã¸ã§ã¯ããè¿ãã¾ãã
IndexSizeError
DOMException
array
ãæå®ããããã®è¦ç´ æ°ã (4 * width)
ã®åæ°ã§ã (4 * width * height)
ã®åæ°ã§ããªãã¨ãæãããã¾ãã
ãã®ä¾ã¯ãå¹
200 ãã¯ã»ã«ãé«ã 100 ãã¯ã»ã«ã® ImageData
ãªãã¸ã§ã¯ããçæãã¾ããå
¨é¨ã§ 20,000 ãã¯ã»ã«ããã¾ãã
let imageData = new ImageData(200, 100);
// ImageData { width: 200, height: 100, data: Uint8ClampedArray[80000] }
display-p3 è²ç©ºéãç¨ãã ImageData
ãã®ä¾ã§ã¯ãdisplay-p3 è²ç©ºéãç¨ãã ImageData
ãªãã¸ã§ã¯ããçæãã¾ãã
let imageData = new ImageData(200, 100, { colorSpace: "display-p3" });
é
åãç¨ã㦠ImageData ãåæåãã
ãã®ä¾ã§ã¯ãé
åã§å®ç¾©ããããã¯ã»ã«ã«ã©ã¼ãæã¤ ImageData
ãªãã¸ã§ã¯ããçæãã¾ãã
<canvas id="canvas"></canvas>
JavaScript
ããã§ç¨ããé
å (arr
) ã®è¦ç´ æ°ã¯ 40000
ã§ãã10,000 ãã¯ã»ã«ãããåãã¯ã»ã«ã¯ 4 åã®å¤ã§å®ç¾©ããã¾ããImageData
ã®ã³ã³ã¹ãã©ã¯ã¿ã¼ã§æ°ãããªãã¸ã§ã¯ãã® width
ã 200
ã«è¨å®ãã¦ããã®ã§ãheight
ã®ããã©ã«ãå¤ã¯ 10,000 ã 200 ã§å²ã£ãå¤ 50
ã«ãªãã¾ãã
const canvas = document.getElementById("canvas");
const ctx = canvas.getContext("2d");
const arr = new Uint8ClampedArray(40_000);
// é
åãåã RGBA å¤ã§åãã
for (let i = 0; i < arr.length; i += 4) {
arr[i + 0] = 0; // R å¤
arr[i + 1] = 190; // G å¤
arr[i + 2] = 0; // B å¤
arr[i + 3] = 255; // A å¤
}
// æ°ãã ImageData ãªãã¸ã§ã¯ããåæåãã
let imageData = new ImageData(arr, 200);
// ç»åãã¼ã¿ããã£ã³ãã¹ã«æç»ãã
ctx.putImageData(imageData, 20, 20);
çµæ 仿§æ¸ ãã©ã¦ã¶ã¼ã®äºææ§ é¢é£æ
å ±
CanvasRenderingContext2D.createImageData()
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4