是否可以修改 HTML5 中从 Canvas 获取的图像的 exif 数据?

the*_*eek 3 javascript canvas image-processing dpi html5-canvas

我试图修改 exif 数据中图像的 dpi 标头。我知道它可以在本机 iOS/Android 场景中完成。但是是否可以用 Javascript 来处理从 Canvas 检索到的图像。请建议。谢谢

Ale*_*lin 5

是的,这是可以接受的,

  1. 您需要将画布转换为blob(文件)
  2. 您需要将 blob 转换为 DataView
  3. 需要在dataview中找到exif数据,以及dataview中exif标签的位置(偏移量)
  4. 您需要通过 dataView.setUint8(offset, value, bigEndian) 替换 dataview 中的数据;
  5. 将 dataview 转换为 base64 或图像或 blob

Exif 是二进制数据,因此,您将把 dpi 转换为二进制数据并将其放入 dataview

您可以使用或查看ExifRestorer.jsexif.js中的代码。第一个链接用于插入 exif 数据,第二个链接用于解析 exif 数据