使用 imagemagick 从一个来源进行多次转换
Multiple converts from one source using imagemagick
是否可以有一个来源,并从中获得 2 种不同配置的处理图像? (而不是两次读取源图像)?
类似于
convert input.jpg -resize 300 output1.jpg -resize 600 output2.jpg
当然可以,像这样使用中间的 -write
,然后先做大的:
convert input.jpg -resize 600 -write im600.jpg -resize 300 im300.jpg
或者,如果您想对每个操作重新开始:
convert input.png \
\( +clone -resize 300 -write result300.jpg \) \
\( +clone -resize 600 -write result600.jpg \) null:
如果使用 GraphicsMagick,我不确定是否有比以下更好的方法:
#!/bin/bash
{ echo convert input.png mpr:orig;
echo convert mpr:orig -resize 300 result300.jpg;
echo convert mpr:orig -resize 600 result600.jpg; } | gm batch -prompt off
这是一个略有不同的版本,它只调用了 convert
两次:
#!/bin/bash
cat - <<EOF | gm batch -prompt off
convert input.png -write mpr:orig -resize 300 result300.jpg
convert mpr:orig -resize 600 result600.jpg
EOF
是否可以有一个来源,并从中获得 2 种不同配置的处理图像? (而不是两次读取源图像)?
类似于
convert input.jpg -resize 300 output1.jpg -resize 600 output2.jpg
当然可以,像这样使用中间的 -write
,然后先做大的:
convert input.jpg -resize 600 -write im600.jpg -resize 300 im300.jpg
或者,如果您想对每个操作重新开始:
convert input.png \
\( +clone -resize 300 -write result300.jpg \) \
\( +clone -resize 600 -write result600.jpg \) null:
如果使用 GraphicsMagick,我不确定是否有比以下更好的方法:
#!/bin/bash
{ echo convert input.png mpr:orig;
echo convert mpr:orig -resize 300 result300.jpg;
echo convert mpr:orig -resize 600 result600.jpg; } | gm batch -prompt off
这是一个略有不同的版本,它只调用了 convert
两次:
#!/bin/bash
cat - <<EOF | gm batch -prompt off
convert input.png -write mpr:orig -resize 300 result300.jpg
convert mpr:orig -resize 600 result600.jpg
EOF