ImageMagick使用DPI将所有图像更改为预设大小

ImageMagick使用DPI将所有图像更改为预设大小,imagemagick,Imagemagick,尝试使用imagemagick将所有图像设置为预设大小,例如信头(8 1/2x11)。。。我宁愿不使用调整大小,并试图让他们到一个100 dpi的设置。。。我个人对imagemagick不是很在行,经过两天的搜索,我基本上完成了 for f in `ls *jpg`; do convert -compress Group4 -type bilevel \ -depth 100 -units PixelsPerInch \ -monochrome

尝试使用imagemagick将所有图像设置为预设大小,例如信头(8 1/2x11)。。。我宁愿不使用调整大小,并试图让他们到一个100 dpi的设置。。。我个人对imagemagick不是很在行,经过两天的搜索,我基本上完成了

for f in `ls *jpg`; do 
   convert -compress Group4 -type bilevel \
           -depth 100 -units PixelsPerInch \
           -monochrome -resize 850X1100 $f 2-$f;
done
有人对此有任何进一步的指示吗?

您可以使用选项设置DPI

'ls*jpg中f的
`
做
转换-压缩组4\
-类型二层\
-深度100\
-像素单位
-单色\
-调整850X1100的大小\
-密度100\
$f 2-$f
完成
您可以使用identify实用程序进行验证

identify-格式化“%x x%y”some\u image.jpg
编辑: 正如比雷指出的那样。您可以使用“
*.jpg
”通配符对目录中的文件进行迭代,并且引用输出文件名对于带有空格的文件名非常重要。您可以使用创建和保留源图像信息

convert*.jpg\
-压缩组4\
-类型二层\
-深度100\
-像素单位
-单色\
-调整850X1100的大小\
-密度100\
-设置文件名:f“%f”\
“2-%[filename:f]”
-set filename:f“%f”
将保留原始文件名,并正确转义,
'2-%[filename:f]'
将使用自定义前缀“2-”写入“f”值。无需使用Bash for循环。

您可以使用选项设置DPI

'ls*jpg中f的
`
做
转换-压缩组4\
-类型二层\
-深度100\
-像素单位
-单色\
-调整850X1100的大小\
-密度100\
$f 2-$f
完成
您可以使用identify实用程序进行验证

identify-格式化“%x x%y”some\u image.jpg
编辑: 正如比雷指出的那样。您可以使用“
*.jpg
”通配符对目录中的文件进行迭代,并且引用输出文件名对于带有空格的文件名非常重要。您可以使用创建和保留源图像信息

convert*.jpg\
-压缩组4\
-类型二层\
-深度100\
-像素单位
-单色\
-调整850X1100的大小\
-密度100\
-设置文件名:f“%f”\
“2-%[filename:f]”

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

更好的
*jpg
而不是命令替换
`ls*jpg`
。另外,还双引号引用变量
$f
的所有用法,以避免分词。这一点很好。除了保留文件名之外,似乎没有任何理由使用
ls*jpg
——最好使用
*jpg
代替命令替换
`ls*jpg`
。另外,还双引号引用变量
$f
的所有用法,以避免分词。这一点很好。除了保留文件名之外,似乎没有任何理由使用
ls*jpg