遍历文件夹并将png转换为jpg
Iterate through a folder and convert png to jpg
我有一个包含不同文件类型 (jpg + png) 图像的大文件夹。我想遍历文件夹并将任何 png 转换为 jpeg。因此,例如 image323.png 将转换为 image323.jpg。
我还希望调整它们的大小,使它们大小相同而不丢失 scale/ratio。
我知道我需要遍历它们并且可能使用条件(如果文件以 png 结尾,则更改为 jpg)这将涉及使用 PIl 但不确定如何将它们放在一起。
最简单的方法是使用 ImageMagick,您可以使用 homebrew:
在 macOS 上安装它
brew install imagemagick
先做个备份,然后你只需要进入有图片的目录和运行:
magick mogrify -format jpg *.png
如果您希望调整它们的大小,使它们最终都达到 600 像素宽:
magick mogrify -format jpg -resize 600x *.png
如果您希望调整它们的大小,使它们最终都达到 300 像素高:
magick mogrify -format jpg -resize x300 *.png
如果您希望调整它们的大小,使它们最终的宽度不超过 600 像素,高度不超过 300 像素:
magick mogrify -format jpg -resize 600x300 *.png
如果您希望调整它们的大小,使它们最终都恰好 600 像素宽和恰好 300 像素高,即使这意味着扭曲原始纵横比:
magick mogrify -format jpg -resize 600x300\! *.png
根据您拥有的图像数量、它们的大小以及您的 CPU 和磁盘子系统的速度,您可能会更好地使用 GNU Parallel你可以用同样的方式安装:
brew install parallel
将所有 PNG 文件并行转换为 JPEG 的命令变为:
parallel --dry-run convert {} -resize 600x {.}.jpg ::: *png
我有一个包含不同文件类型 (jpg + png) 图像的大文件夹。我想遍历文件夹并将任何 png 转换为 jpeg。因此,例如 image323.png 将转换为 image323.jpg。
我还希望调整它们的大小,使它们大小相同而不丢失 scale/ratio。
我知道我需要遍历它们并且可能使用条件(如果文件以 png 结尾,则更改为 jpg)这将涉及使用 PIl 但不确定如何将它们放在一起。
最简单的方法是使用 ImageMagick,您可以使用 homebrew:
在 macOS 上安装它brew install imagemagick
先做个备份,然后你只需要进入有图片的目录和运行:
magick mogrify -format jpg *.png
如果您希望调整它们的大小,使它们最终都达到 600 像素宽:
magick mogrify -format jpg -resize 600x *.png
如果您希望调整它们的大小,使它们最终都达到 300 像素高:
magick mogrify -format jpg -resize x300 *.png
如果您希望调整它们的大小,使它们最终的宽度不超过 600 像素,高度不超过 300 像素:
magick mogrify -format jpg -resize 600x300 *.png
如果您希望调整它们的大小,使它们最终都恰好 600 像素宽和恰好 300 像素高,即使这意味着扭曲原始纵横比:
magick mogrify -format jpg -resize 600x300\! *.png
根据您拥有的图像数量、它们的大小以及您的 CPU 和磁盘子系统的速度,您可能会更好地使用 GNU Parallel你可以用同样的方式安装:
brew install parallel
将所有 PNG 文件并行转换为 JPEG 的命令变为:
parallel --dry-run convert {} -resize 600x {.}.jpg ::: *png