gpt4 book ai didi

javascript - createImageBitmap() 将图像数据转换为全零

转载 作者:行者123 更新时间:2023-11-30 15:05:41 25 4
gpt4 key购买 nike

我正在尝试 createImageBitmap(imgdata, 0, 0, 500, 500) ,代码如下:

function draw(imgi) {
console.log('drawing');
let data = imgi.data;
// console.log(data); --> the data of the real image
data = core.clip(data, 100, 210);
// console.log(data); --> the clipped array with minimum value of 100 and maximum value of 210
data = core.form_arr(data, 'uint8clamped');
console.log(data); // --> Converting to Uint8Clamped array
let img = new ImageData(data, 500, 500);
console.log(img.data); // --> converts the clamped array into image data
createImageBitmap(img, 0, 0, 500, 500)
.then(im => {
console.log(im); // --> This is where the error is the im is all zeroes clamped array
ctx2.drawImage(im, 500, 500);
console.log(ctx2.getImageData(0, 0, 500, 500).data);
});
}

createImageBitmap promise 使用全零的固定数组解析,但我使用的图像数据并非全为零。

这是什么原因?

最佳答案

这一行:

ctx2.drawImage(im, 500, 500);

将在可能位于 Canvas 区域之外的位置 (500,500) 绘制图像? (或者至少是您在此处测试的区域:console.log(ctx2.getImageData(0, 0, 500, 500).data);)

尝试将其更改为例如:

ctx2.drawImage(im, 0, 0);

关于javascript - createImageBitmap() 将图像数据转换为全零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45768436/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com