Baseline Widely available
èªã¿åãå°ç¨ãããã㣠ImageData.data
ã¯ãImageData
ãªãã¸ã§ã¯ãã®ãã¯ã»ã«ãã¼ã¿ãå
¥ã£ã Uint8ClampedArray
ãè¿ãã¾ãããã¼ã¿ã¯ RGBA ã®é ã« 0
ãã 255
(両端ãå«ã) ã®æ´æ°å¤ã® 1 次å
é
åã¨ãã¦æ ¼ç´ããã¾ãã
Uint8ClampedArray
ã§ãã
ãã®ä¾ã§ã¯ãå¹
100 ãã¯ã»ã«ãé«ã 100 ãã¯ã»ã«ã® ImageData
ãªãã¸ã§ã¯ããçæãã¾ããå
¨é¨ã§ 10,000 ãã¯ã»ã«ã«ãªãã¾ããé
å data
ã«ã¯åãã¯ã»ã«ã«ã¤ã㦠4 åã®å¤ãæ ¼ç´ãããå
¨é¨ã§ 4 x 10,000 ããªãã¡ 40,000 åã®å¤ãæ ¼ç´ããã¾ãã
let imageData = new ImageData(100, 100);
console.log(imageData.data); // Uint8ClampedArray[40000]
console.log(imageData.data.length); // 40000
空㮠ImageData ãªãã¸ã§ã¯ããåãã
ãã®ä¾ã§ã¯ãæ°ãã ImageData
ãªãã¸ã§ã¯ããçæããã«ã©ãã«ãªãã¯ã»ã«ã§åãã¾ãã
<canvas id="canvas"></canvas>
JavaScript
é
å data
ã§ã¯åãã¯ã»ã«ã 4 åã®å¤ãããªãã®ã§ãfor
ã«ã¼ãã®ã«ã¼ã夿°ã 4 ãã¤é²ãã¾ããåãã¯ã»ã«ã«å¯¾å¿ããå¤ã¯ãé ã« R (赤)ãG (ç·)ãB (é)ãA (ä¸éæåº¦) ã§ãã
const canvas = document.getElementById("canvas");
const ctx = canvas.getContext("2d");
const imageData = ctx.createImageData(100, 100);
// é
åã RGBA å¤ã§åãã
for (let i = 0; i < imageData.data.length; i += 4) {
// x æ¹åã®å²åã® 255 å
let x = ((i % 400) / 400) * 255;
// y æ¹åã®å²åã® 255 å
let y = (Math.ceil(i / 400) / 100) * 255;
// ãã¯ã»ã«ãã¼ã¿ãæ¸ãæãã
imageData.data[i + 0] = x; // R å¤
imageData.data[i + 1] = y; // G å¤
imageData.data[i + 2] = 255 - x; // B å¤
imageData.data[i + 3] = 255; // A å¤
}
// ç»åãã¼ã¿ããã£ã³ãã¹ã«æç»ãã
ctx.putImageData(imageData, 20, 20);
çµæ ä»ã®ä¾
ImageData.data
ãç¨ããä»ã®ä¾ã¯ããã£ã³ãã¹ã¨ãã¯ã»ã«æä½ã»CanvasRenderingContext2D.createImageData()
ã»CanvasRenderingContext2D.putImageData()
ãåç
§ãã¦ãã ããã
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