1

尝试使用 imagemagick 将所有图像设置为预设大小,例如信笺(8 1/2x11)...我更喜欢不使用调整大小并尝试将它们设置为 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

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

4

1 回答 1

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

编辑:

正如Birei指出的那样。您可以使用“ *.jpg”通配符来遍历目录中的文件,并且引用输出文件名对于带有空格的文件名很重要。您可以使用文件名百分比转义来创建和保留源图像信息。

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 循环。

于 2013-07-26T19:24:37.050 回答