javascript - 从 Javascript 变量中的数据创建 HTML 图像

标签 javascript html canvas image

我在 Javascript 变量中有图像数据(JPEG 或 PNG)。如何在 HTML 文档中显示图像?这些是非常大的图像,像这样的代码不起作用,因为 URI 太长了:

// doesn't work because the URI is too long
$('img#target').attr('src', 'data:...');

使用 Canvas 可能是答案,但我不知道如何用图像数据加载它。

如果您想知道:不,我不能直接将图像数据下载到 img 标签。它来自加密的服务器,并使用 Javascript 在浏览器中解密。

谢谢,
-- 艺术 Z.

最佳答案

要使用数据 URL 在 Canvas 上绘图:

var img = new Image;
img.onload = function(){
  myCanvasContext.drawImage(img,0,0);
};
img.src = "data:...";

根据 this question/answer确保在 src 之前设置 onload

您说“URI 太长”,但不清楚您的意思。只有 IE8 对数据 URI 有 32kB 的限制;对于其他浏览器,它应该可以正常工作。如果您遇到错误,请描述错误。

关于javascript - 从 Javascript 变量中的数据创建 HTML 图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4847732/

相关文章:

javascript - 使用 NodeJS(或 PHP)将 API 数据保存到 JSON 文件

javascript - react native : pass string as function

javascript - 连接到数据库的复选框的子复选框

html - 在图像上 float 文本而不环绕在下面

HTML 背景图像

javascript - 使用 HTML5 将两个 Canvas 方 block 设置到 Canvas 的中心

javascript - Canvas 绘制带有线性渐变的填充圆 Angular 矩形

javascript - HTML5 Canvas 动画不显示背景图像

javascript - Jquery:运行时出现问题

java - Android - 每隔几秒改变球的颜色