【发布时间】:2019-07-02 03:43:34
【问题描述】:
我一直在尝试获取 base64 图像的 imageData。我有 2 个函数,问题是第二个函数在第一个函数结束之前开始。
我有两个功能
frame.restoreImageDataForLayers();
frame.changeResultLayer();
首先 - 在页面上加载图像,然后将变量“layers.data”更改为该加载图像的 imageData。 第二 - 使用图像的 imageData。
restoreImageDataForLayers() {
this.layers.forEach((item) => {
const layer = item;
const canvas = document.createElement('canvas');
const context = canvas.getContext('2d');
const image = new Image();
image.onload = function drawImg() {
context.drawImage(image, 0, 0);
layer.data = context.getImageData(0, 0, layer.canvasSize, layer.canvasSize).data;
console.log('FIRST', layers.data');
};
image.src = layer.data;
});
}
changeResultLayer() {
console.log('SECOND', this.layers[0].data);
}
然后我有 之前的第二个控制台日志 第一个控制台日志 和我的另一个必须与 imageData 一起使用的代码 - 崩溃。 如何解决?
【问题讨论】:
标签: javascript image function promise async-await