我有一堆扩展名为“.png”的图像文件,但我确信其中一些实际上是 JPEG,只是被重命名为 PNG。据我所知,简单地重命名文件实际上不会改变格式、压缩等,那么我该如何检查哪些文件的格式与扩展名相符?
另外,XnConvert 真的转换图像的格式吗?
答案1
如果你有 Linux 系统,或者西弗吉尼亚海岸(在 Windows 上)你可以输入
file myimagewithoutextension
输出:
myimagewithoutextension: JPEG image data, JFIF standard 1.01, resolution (DPI), density 96x96, segment length 16, baseline, precision 8, 768x576, frames 3
该file
命令完全忽略文件扩展名,而是依赖文件头中的信息。
或者,在记事本中打开可疑的 PNG。如果它确实是 PNG,它将位于‰PNG
第一行。Jpeg 的它将位于JFIF
开头附近的某个位置。
答案2
我如何检查哪些格式符合其扩展名?
您可以使用图像魔术师适用于Windows、Mac 和 Linux。您通常需要适用于 Windows 的“DLL”版本之一(而不是“静态”版本之一)。
安装后,您可以使用以下方式识别扩展名不正确的图像magick identify file.ext
:
例子
# Should be a .jpg, not a .png
magick identify it-kama-sutra.png
it-kama-sutra.png JPEG 500x397 500x397+0+0 8-bit sRGB 37707B 0.000u 0:00.060
# Should be a .gif, not a .png
magick identify giphy.png
giphy.png[0] GIF 346x255 346x255+0+0 8-bit sRGB 256c 0.000u 0:00.062
giphy.png[1] GIF 346x255 346x255+0+0 8-bit sRGB 256c 0.000u 0:00.087
giphy.png[2] GIF 346x255 346x255+0+0 8-bit sRGB 256c 0.000u 0:00.092
[...]
giphy.png[13] GIF 346x255 346x255+0+0 8-bit sRGB 256c 0.000u 0:00.237
giphy.png[14] GIF 346x255 346x255+0+0 8-bit sRGB 256c 0.000u 0:00.329
giphy.png[15] GIF 346x255 346x255+0+0 8-bit sRGB 256c 716527B 0.000u 0:00.336
请注意,在 Windows 上,您需要将magick.exe
( magick
) 添加到 Windows 路径中才能使用它,而无需指定其确切位置(例如C:\path\to\imagemagick\magick.exe
)。