如何检测是否使用PhotoShop编辑了PNG?

Vil*_*age 8 photoshop png metadata

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

leo*_*loy 7

启发式(纯粹是经验性的,Adobe未记录,因此它可以从版本更改为版本)是寻找名为"Photoshop ICC profile" 的iCCP块.

一个快速而肮脏的oneliner(linux或mingw):

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

为我工作,但显然不是无法忍受的.在head -c 256考虑到该块将像素数据(如果存在的调色板)之前,以免到grep整个图像.

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

如果你想窥视PNG结构,有一个适合Windows的简洁工具:http://entropymine.com/jason/tweakpng/