从<img/>获取二进制图像内容

时间:2011-10-06 20:58:41

标签: javascript internet-explorer com

我需要将图像字节内容从JavaScript传输到COM组件。我将弄清楚COM部分但是如何获得引用<IMG>的二进制图像?

我只需要支持IE6 +。

如果有必要,我可以自由重新下载图像。没有必要使用已下载的图像。

是否有downloadToBytes()函数或类似函数?

1 个答案:

答案 0 :(得分:2)

我唯一能想到的是使用ajax(重新下载图像)

var src = document.getElementById('theImage').src;

var ajax = new XMLHttpRequest();
ajax.open("GET", src, true);
ajax.responseType = "arraybuffer";

ajax.onload = function () {
    var bAr = new Uint8Array(ajax.response);
    for (var i = 0; i < bAr.length; i++) {  
        //Modify binary?
    }
}

ajax.send();

如果图像必须具有跨域权限(如果它是外部的),则唯一的坏处是。或者您可以从没有该限制的内容脚本执行它(网站页面必须包含在清单中的权限值中)