我需要访问已经加载到页面上的图像中的
但生成的二进制对象不包含EXIF数据(
EXIF
数据,比如来自浏览器扩展。据我所知,有一些JavaScript方法可以完成这个任务:
- 使用JavaScript-Load-Image;
- 使用Nihologic EXIF操作库;
- 将图像绘制在画布上。
var canvas = document.createElement("canvas");
canvas.width = oImg.width;
canvas.height = oImg.height;
// Copy the image contents to the canvas
var ctx = canvas.getContext("2d");
ctx.drawImage(oImg, 0, 0);
// Get the data-URL formatted image
var dataURL = window.atob(canvas.toDataURL("image/jpeg", 1.0).split(',')[1]);
但生成的二进制对象不包含EXIF数据(
0xE1
标记),似乎一旦在画布上绘制,它就会产生JFIF(0xE0
)标记。
因此,我的问题是:是否有可能访问页面上已加载图像的二进制数据?
请注意:已经有类似的问题在SO上了,但没有一个回答了如何不重新加载图像并获得访问EXIF数据的问题。
我知道我可以将图像保存在本地存储中,然后使用上面提到的库,但这看起来也像是过度处理。