我需要将图像字节内容从 JavaScript 传输到 COM 组件。我将弄清楚 COM 部分,但如何获取引用 <IMG>
的二进制图像?
我只需要支持 IE6+。
如果有必要,我可以根据来源重新下载图像。不必使用已经下载的图像。
是否有 downloadToBytes() 函数或类似函数?
最佳答案
我唯一能想到的是使用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();
唯一不好的是,如果图像是外部的,则必须具有跨域权限。或者您可以从没有该限制的内容脚本中执行它(网站页面必须包含在 list 中的权限值中)
关于javascript - 从<IMG>获取二进制图像内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7680385/