2014-01-07 26 views
8

我有一个PNG格式的软件的屏幕截图目录。我发现其中一个是在PhotoShop或类似工具中编辑的。我想在目录中标识还被编辑的其他PNG。如果编辑器不小心,是否有任何批处理工具可用于查看文件是否从PhotoShop中打开并保存,例如,通过查看元数据或其他细节?如何检测是否使用PhotoShop编辑了PNG?

+0

“如果编辑不小心”,请在Last Modified日期对图像进行排序。如果有突然的跳跃和日期簇,它们被编辑。 – usr2564301

+0

编辑器可能使用了Adobe Fireworks,如果您没有安装它,请试用一下,然后您就可以打开它并使用和编辑图像,符号,图层或任何其中的内容 – w3jimmy

回答

7

启发式(纯粹经验的,这不是由Adobe记录,因此它可以从版本更改为版本)是寻找一个iCCP chunk名称'Photoshop ICC配置文件'。

一个快速和肮脏oneliner(Linux或MinGW的):

$ head -c 256 file.png | perl -e '$/=undef; print ((<> =~ /iCCPPhotoshop/)? 
"photoshop" : "normal");' 

为我工作,但它显然不是infalible。 head -c 256考虑到块将在像素数据(和调色板,如果存在)之前,以免grep整个图像。

请记住,如果图像是在Photoshop中编辑的,之后由其他编辑器或处理器编辑,则iCCP可能无法存活。

如果您想将PNG结构里面偷看,有适用于Windows这个整洁的工具:http://entropymine.com/jason/tweakpng/

3

totneschap偷了我的答案摇摇拳头

然而,我从我的法医天记得在单,检查图像的元数据是最好的方法,你可以使用图像编辑的网站,或者你可以使用http://fotoforensics.com/

我们曾经有一个工具可以告诉我们编辑的版本,编辑日期等,但是我正在努力争取它的名字,如果我能记得我会编辑帖子,但网站看起来像是最好的答案。

相关问题