gpt4 book ai didi

javascript - 尽管我可以在控制台上看到 Blob 图像,但它不会显示在 UI 上

转载 作者:行者123 更新时间:2023-12-05 00:51:01 24 4
gpt4 key购买 nike

我正在尝试创建多个 blob 图像,并在视频时间轴 UI 中显示它们。为了创建图像,我在某些特定时间范围内截取视频的屏幕截图,并创建 img 元素,然后添加 img.src 作为 blob 图像的 url。问题是 blob 图像未显示在 UI 上,尽管我可以在控制台上看到它们。有什么想法吗?

创建 blob 图像的代码片段:

// draw the video frame to canvas
const ctx = canvas.getContext("2d");
ctx.drawImage(videoPlayer, 0, 0, canvas.width, canvas.height);
ctx.canvas.toBlob(
blob => {
resolve(blob);
},
"image/jpeg",
0.75 /* quality */
);

创建图像的代码片段:

let img = '';
for (let i = 0; i < count / 3; i++) {
const cover = await GetVideoCover(item.video_url, i);
var url = URL.createObjectURL(cover);
var image = new Image();
image.src = url;
img += "<img src='"+image.src+"'>";
console.log(img)
}
return img;

来自console.log(img)行的控制台日志:

enter image description here

实际的 html img 元素:

enter image description here

当我如下手动更新源时,它可以工作,但我不明白为什么它本身没有获取源。任何想法将不胜感激。

enter image description here

最佳答案

尝试在 image 元素上注册一个 onload 事件监听器,然后在事件监听器中处理依赖于该图像的所有代码,如下所示:

for (let i = 0; i < count / 3; i++) {
const cover = await GetVideoCover(item.video_url, i);
var url = URL.createObjectURL(cover);
var image = new Image();
image.src = url;
image.addEventListener('load', (event) => {
// perform some magic here e.g append to DOM or draw the image to canvas
}
}

关于javascript - 尽管我可以在控制台上看到 Blob 图像,但它不会显示在 UI 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73171188/

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