Я пытаюсь извлечь данные пикселя на холсте из ImageData, возвращенного getImageData ().
Независимо от того, является ли следующий подход хорошей идеей (я мог бы просто преобразовать весь буфер)Я хотел бы знать, возможно ли / разрешено / рекомендовано просто преобразовать часть этих данных.
Я попробовал следующее
const cvs = document.getElementById("paint");
const ctx = cvs.getContext('2d');
const imageData = ctx.getImageData(0, 0, cvs.width, cvs.height);
const data = imageData.data;
data[0] = 0x11;
data[1] = 0x22;
data[2] = 0x33;
data[3] = 0x44;
console.log(new Uint32Array(data.slice(0, 4).buffer)[0].toString(16));
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>test</title>
</head>
<body>
<canvas id="paint" width=500px height=500px />
<script src="test.js"></script>
</body>
</html>
Но я не могу найти какую-либо документацию о том, разрешено ли это и что может сломаться каким странным образом.Где документировано поведение преобразования типов для Javascript?Будет ли это создать копию?Будет ли доступ к той же памяти?
Извините, если это ужасный вопрос.Я новичок в Javascript.