首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将字节数组转换为图像?

如何将字节数组转换为图像?
EN

Stack Overflow用户
提问于 2010-12-31 00:03:05
回答 6查看 71.3K关注 0票数 21

使用Javascript,我对WCF服务进行了一次AJAX调用,它返回一个字节数组。如何将其转换为图像并将其显示在网页上?

EN

回答 6

Stack Overflow用户

发布于 2010-12-31 00:05:47

使用Javascript构建一个图像元素并将其直接指向服务,而不是使用AJAX调用服务。

代码语言:javascript
复制
var img = document.createElement("IMG");
img.src = "http://url/to/service";
img.alt = "ALT TEXT";
document.body.appendChild(img);

只需确保服务正确设置内容类型即可。

票数 6
EN

Stack Overflow用户

发布于 2015-02-13 19:30:25

以下是使用数据URI方案解码PNG、JPEG和GIF图像字节的JavaScript源代码:

代码语言:javascript
复制
Images.decodeArrayBuffer = function(buffer, onLoad) {
    var mime;
    var a = new Uint8Array(buffer);
    var nb = a.length;
    if (nb < 4)
        return null;
    var b0 = a[0];
    var b1 = a[1];
    var b2 = a[2];
    var b3 = a[3];
    if (b0 == 0x89 && b1 == 0x50 && b2 == 0x4E && b3 == 0x47)
        mime = 'image/png';
    else if (b0 == 0xff && b1 == 0xd8)
        mime = 'image/jpeg';
    else if (b0 == 0x47 && b1 == 0x49 && b2 == 0x46)
        mime = 'image/gif';
    else
        return null;
    var binary = "";
    for (var i = 0; i < nb; i++)
        binary += String.fromCharCode(a[i]);
    var base64 = window.btoa(binary);
    var image = new Image();
    image.onload = onLoad;
    image.src = 'data:' + mime + ';base64,' + base64;
    return image;
}
票数 6
EN

Stack Overflow用户

发布于 2019-07-31 19:33:05

在聚会上迟到了,但如果你的回答看起来像

代码语言:javascript
复制
[137,80,78,71,13,10,26,10,0,...]

您可以使用以下命令:

代码语言:javascript
复制
<img id="image" src="" />
代码语言:javascript
复制
var imgsrc = "data:image/png;base64," + btoa(String.fromCharCode.apply(null, new Uint8Array([137,80,78,71,13,10,26,10,0,...])));

document.getElementById('image').src = imgsrc;
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4564119

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档