ImageMagick使用DPI将所有图像更改为预设尺寸

时间:2013-07-26 16:30:00

标签: imagemagick

尝试使用imagemagick将所有图像设置为预设尺寸,例如信头(8 1 / 2x11),例如... id更喜欢不使用调整大小并尝试将它们设置为100 dpi设置...我个人对于imagemagick并不是很好,经过2天的搜索,我得到了它大部分完成?

for f in `ls *jpg`; do 
   convert -compress Group4 -type bilevel \
           -depth 100 -units PixelsPerInch \
           -monochrome -resize 850X1100 $f 2-$f;
done

有人对此有进一步的指示吗?

1 个答案:

答案 0 :(得分:1)

您可以使用-density选项设置DPI。

for f in `ls *jpg`
do 
  convert -compress Group4 \
          -type bilevel \
          -depth 100 \
          -units PixelsPerInch 
          -monochrome \
          -resize 850X1100 \
          -density 100 \
          $f 2-$f
done

您可以使用识别实用程序进行验证。

identify -format "%x x %y" some_image.jpg

编辑:

正如比雷指出的那样。您可以使用“*.jpg”通配符迭代目录中的文件,引用输出文件名对于包含空格的文件名很重要。您可以使用Filename Percent Escapes创建&保留源图像信息。

convert *.jpg \
        -compress Group4 \
        -type bilevel \
        -depth 100 \
        -units PixelsPerInch 
        -monochrome \
        -resize 850X1100 \
        -density 100 \
        -set filename:f '%f' \
        '2-%[filename:f]'

-set filename:f '%f'将保留正确转义的原始文件名,'2-%[filename:f]'将使用自定义前缀“2”写入“f”值。无需使用Bash for-loop。