【发布时间】:2022-12-25 03:23:38
【问题描述】:
所以正如标题所说,我正在尝试将 base64 编码的 png 图像加载到 p5js 图像中,这是我如何做的简化:
PS:我使用的是 base64 图像,因为它是从服务器生成的
var img;
function setup() {
// Canvas setup code ....
img = loadImage('loading.png'); // show an image which says that it's loading
img.loadPixels();
// More setup code ...
}
// ...
function draw() {
image(img, 0, 0, img.width, img.height);
// ... more code
}
// ...
function receivedCallback(data) { // This function gets called once we receive the data
// Data looks like this: { width: 100, height: 100, data: "...base64 data...." }
img.resize(data.width, data.height);
var imgData = data.data;
var imgBlob = new Blob([imgData], { type: "image/png" }); // Create a blob
var urlCreator = window.URL || window.webkitURL;
var imageUrl = urlCreator.createObjectURL(imgBlob); // Craft the url
img.src = imageUrl;
img.loadPixels();
img.updatePixels();
}
但是,它不起作用,这就是我在这里问的原因。 如果有任何方法可以做到,我将不胜感激。 提前致谢。
编辑史蒂夫没有相当工作,我不得不用img = loadImage('data:image/png;base64,' + data.data);替换img.src = 'data:image/png;base64,' + data.data
【问题讨论】:
标签: javascript p5.js