3

如何使用 mogrify 批量转换大量文件(.TIF、.EPS、.JPG,但最烦人的是).PSD 文件并且只保留它们的第一层?

我找到了一个关于如何转换所有图像的解决方案,但我一直在我的输出目录中获取与我的原始文件不同的文件名(它们有 -0、-1、-2 等附加到原始文件名)。

我有 2 个文件夹,./original/(其中包含我的 PSD、EPS、TIF、GIF、JPG 和其他图像)+ 文件夹 ./converted/(这是我转换的目标文件夹)

我用来转换图像的命令是:

mogrify -verbose -path ./converted/ \
-alpha off -strip -mattecolor white -background white \
-resize 512x512 -format jpg -quality 75% -interlace Plane ./original/*.*

但无论我尝试什么,我都会不断收到这些破坏我文件名的垃圾。然而,有一种模式只是将文件的每个解释合并为一个,但这也没什么用,因为我的透明文件上的背景是黑色的。

4

1 回答 1

8

经过2个小时的搜索,我终于找到了答案,由于我喜欢stackoverflow,所以我在这里分享:

为了选择 PSD 或 .GIF 的第一帧的最佳图像,您只需在输入文件中添加索引 0(字面意思是,没有双引号:“[0]”)。

因此,转换所有图像的命令(您需要先安装带有 mogrify 的 ImageMagick),任何透明的东西都具有白色背景,在 512x512 像素的边界框内,以 jpg 输出,压缩质量为 50%,图层 Disposed 和第一个索引使用时,需要执行以下命令:

mogrify -verbose -path ./converted/ \
-alpha off -strip -mattecolor white -background white -layers Dispose \
-resize 512x512 -format jpg -quality 75% -interlace Plane ./original/*.*[0]

希望这将为需要批量转换大量图像的任何人提供易于使用的模板。

我发现了几个图像转换器,但没有一个像 mogrify 那样易于使用,当然,它是一个 linux 可执行文件,它为你可以用它做什么提供了几乎无限的可能性……一切都应该是可编写脚本的。

于 2013-08-02T07:15:58.317 回答