获取二进制图像内容

发布于 2024-12-08 11:04:10 字数 190 浏览 1 评论 0原文

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

我只需要支持 IE6+。

如有必要,我可以根据来源重新下载图像。没有必要使用已经下载的图像。

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

I need to transfer image byte contents from JavaScript to a COM component. I will figure out the COM part but how do I get the binary image having a reference to <IMG>?

I need to support IE6+ only.

I am free to re-download the image if necessary given the source. It is not necessary to use the already downloaded image.

Is there a downloadToBytes() function or similar?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

⊕婉儿 2024-12-15 11:04:10

我唯一能想到的是使用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();

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

The only thing I could think of is the use of ajax(redownloading the image)

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();

The only bad thing if that the image has to have cross domain permissions if it's external. Or you can execute it from a content script which doesn't have that limit(website page must be included in the permissions value in the manifest)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文