我试图在脚本中使用ImageMagick来转换和调整大量文件的大小以进行版本控制。我需要每次转换文件的时间相同,因此git不会提交刚刚更新了时间戳的文件。不幸的是,ImageMagick坚持为每个图像添加一个创建和修改时间戳,以使git再次重新提交每个文件。
关于此问题,我进行了很多搜索,并尝试了以下标志:
-define png:exclude-chunks=date
+set date:create +set date:modify
-strip
这些都没有导致可重复的过程:
-define png:exclude-chunks = date
stephen@Saturn ~/test (git)-[master] % convert input.png -define png:exclude-chunks=date -resize 100x100 1.png
stephen@Saturn ~/test (git)-[master] % convert input.png -define png:exclude-chunks=date -resize 100x100 2.png
stephen@Saturn ~/test (git)-[master] % diff 1.png 2.png
Binary files 1.png and 2.png differ
stephen@Saturn ~/test (git)-[master] % cmp -l 1.png 2.png
125 41 42
126 67 0
127 322 101
128 321 101
129 35 353
130 64 370
+设置日期:创建+设置日期:修改
stephen@Saturn ~/test (git)-[master] % convert input.png +set date:create +set date:modify -resize 100x100 1.png
stephen@Saturn ~/test (git)-[master] % convert input.png +set date:create +set date:modify -resize 100x100 2.png
stephen@Saturn ~/test (git)-[master] % diff 1.png 2.png
Binary files 1.png and 2.png differ
stephen@Saturn ~/test (git)-[master] % cmp -l 1.png 2.png
125 51 52
126 71 0
127 375 211
128 260 230
129 272 141
130 73 360
-跳闸
stephen@Saturn ~/test (git)-[master] % convert input.png -strip -resize 100x100 1.png
stephen@Saturn ~/test (git)-[master] % convert input.png -strip -resize 100x100 2.png
stephen@Saturn ~/test (git)-[master] % diff 1.png 2.png
Binary files 1.png and 2.png differ
stephen@Saturn ~/test (git)-[master] % cmp -l 1.png 2.png
110 41 45
111 241 246
112 235 360
113 264 160
114 252 263
如何使用ImageMagick完成可复制的转换?