image - 使用 ImageMagick 将不同的图像格式批量转换/调整为特定分辨率的 JPEG

我如何使用 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/*.*

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

最佳答案

经过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 可执行文件,它为您提供了几乎无限的可能性……一切都应该是可编写脚本的。

关于image - 使用 ImageMagick 将不同的图像格式批量转换/调整为特定分辨率的 JPEG,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/18010939/


原文来源:

https://www.coder.work/article/6433385

posted @ 2022-11-16 17:45  晴云孤魂  阅读(368)  评论(0)    收藏  举报