高效管理图片文件:批量编辑EXIF信息与修改MD5校验值

更新:11-21 现代故事 我要投稿 纠错 投诉

修改image.png图像md5有两种方法:

如果直接修改镜像的二进制内容,可能会损坏镜像。如果使用图片工具修改图片的像素,不会损坏图片,但效率比较低,并且不能保证修改后不会出现视觉差异。这种方法是不可行的。

如果修改图片描述信息,不会对内容产生任何影响。还可以保证md5值发生变化。

2 工具

2.1 编辑jpg和png图片

exiftoolhttps://exiftool.org/

exiftool是一个命令行工具,可以读取和修改几乎所有图像格式的描述信息。我说“几乎”是因为它无法修改webp 图像(webp 是一种小型且常用的图像格式)。

按照官方说明安装后,使用起来非常简单,输入命令行即可

exiftool a.png

可以获取图片的exif信息:

向image.png写入信息也是类似的,比如你想写一条评论。

exiftool -comment="1234567890" a.png

如果你查看image.png,你可以看到评论已被写入。对比写入前后的镜像md5,发现发生了变化。

2.2 编辑webp图片

https://developers.google.com/speed/webp

编辑webp的exif信息需要使用Google官方工具。安装命令行工具后,使用webpmux命令

添加EXIF元数据: 添加exif信息

webpmux -set exif image_metadata.exif in.webp -o exif_container.webp

提取EXIF元数据: 读取exif信息

webpmux -get exif exif_container.webp -o image_metadata.exif 添加exif信息,需要提供image_metadata.exif文件(我没见过这种格式的文件,找了很多webp文件,无法读取出来)。

创建一个新的文本文件a.exif,在其中输入“1234567890”(任何字符串),然后使用以下命令写入图像。

webpmux -set exif a.exif a.webp -o a.webp

image.pngwebpmux -get exif a.webp -o b.exif

将exif信息读取到b.exif文件中,内容与a.exif中写入的内容一致。

3 批处理

可以使用Java调用命令行进行批处理。

Java执行命令行:

Runtime.getRuntime().exec(exec)

递归处理文件夹

/**

* 递归修改图像exif信息

* @param path 文件或文件夹路径

* @param注释写入的数据

* @param commentFile 包含写入数据的exif 文件

*/

公共静态无效editExifRecurve(字符串路径,字符串注释,字符串注释文件){

文件文件=新文件(路径);

if (file.isDirectory()) {

File[] 文件=file.listFiles();

如果(文件!=null){

log("dir" + file.getAbsolutePath());

for (文件f : 个文件) {

editExifRecurve(f.getAbsolutePath(), comment, commentFile);

}

}

} 别的{

editExif(路径、评论、评论文件);

}

}

公共静态无效editExif(字符串路径,字符串注释,字符串commentFile){

字符串低=path.toLowerCase();

字符串执行="";

if (low.endsWith(".jpg") || low.endsWith(".jpeg") || low.endsWith(".png")) {

exec="exiftool -comment=" + 注释+ " " + 路径;

} else if(low.endsWith(".webp")) {

exec="webpmux -set exif" + commentFile + " " + 路径+ " -o " + 路径;

} 别的{

返回;

}

//文件file=new File(路径);

//String md5Old=MessageDigestUtil.getFileMD5String(file);

尝试{

Runtime.getRuntime().exec(exec);

//Runtime.getRuntime().exec(exec).waitFor();

} catch (异常e) {

e.printStackTrace();

}

//String md5New=MessageDigestUtil.getFileMD5String(file);

//字符串res=md5New.equals(md5Old) ? "x" : "";

如果你还想了解更多这方面的信息,记得收藏关注本站。

用户评论

墨城烟柳

感觉这挺实用的!我很多照片需要改日期什么的

    有9位网友表示赞同!

入骨相思

MD5加密跟照片本身内容有关系吧?怎么修改EXIF可以改变它?

    有7位网友表示赞同!

妄灸

要是不小心改多了,会不会图片就变不可识别了?

    有19位网友表示赞同!

颓废i

这种工具主要面对什么场景呢?比如摄影师?

    有16位网友表示赞同!

予之欢颜

批量操作效率肯定高啊!要是能自动整理照片就更好了

    有20位网友表示赞同!

墨染天下

我之前想过修改图片日期,但这跟MD5加密有什么关联吗?

    有10位网友表示赞同!

青衫故人

EXIF信息里还有哪些内容可以修改呢?

    有20位网友表示赞同!

◆乱世梦红颜

学习一下,下次编辑照片的时候可以用用这种工具

    有12位网友表示赞同!

沐晴つ

听起来很专业,我这种 amatuer 学不会吗?

    有20位网友表示赞同!

如梦初醒

这个工具是软件还是网站啊?

    有5位网友表示赞同!

陌颜幽梦

不知道能不能修改图片尺寸啊,这也很重要

    有5位网友表示赞同!

有你,很幸福

照片里的元信息这么重要吗?

    有12位网友表示赞同!

喜欢梅西

学习一下批量操作,提升工作效率真是太棒了

    有11位网友表示赞同!

莫阑珊

这种工具对普通用户有什么用处呢?

    有9位网友表示赞同!

你身上有刺,别扎我

会不会修改 EXIF 信息会影响图片本身的内容质量?

    有19位网友表示赞同!

莫失莫忘

照片的元信息可以用来做什么呢?

    有17位网友表示赞同!

颓废人士

批量操作真是方便多了,比以前的手动编辑快多了

    有14位网友表示赞同!

冷青裳

这种工具有没有安全风险啊?

    有7位网友表示赞同!

秘密

希望能有更详细教程,让我更容易上手

    有13位网友表示赞同!

迁心

图片的元信息可以被谁看呢?

    有13位网友表示赞同!

【高效管理图片文件:批量编辑EXIF信息与修改MD5校验值】相关文章:

1.动物故事精选:寓教于乐的儿童故事宝库

2.《寓教于乐:精选动物故事助力儿童成长》

3.探索动物旅行的奇幻冒险:专为儿童打造的童话故事

4.《趣味动物刷牙小故事》

5.探索坚韧之旅:小蜗牛的勇敢冒险

6.传统风味烤小猪,美食探索之旅

7.探索奇幻故事:大熊的精彩篇章

8.狮子与猫咪的奇妙邂逅:一场跨界的友谊故事

9.揭秘情感的力量:如何影响我们的生活与决策

10.跨越两岸:探索彼此的独特世界

上一篇:探索心灵深处:寻找灵魂伴侣的秘密之旅 下一篇:探索荔枝:夏日水果的甜蜜之旅