gpt4 book ai didi

ImageMagick 更改图像宽度和高度

转载 作者:行者123 更新时间:2023-12-02 04:26:37 24 4
gpt4 key购买 nike

我正在使用 ImageMagick 通过使用下面的命令行选项来调整图像分辨率

转换 abc.png -设置单位 PixelsPerInch -密度 75 abc_a.png

我需要这个:如果任何图像的宽度超过300超过100高度,我想将其转换为宽度300宽度和100高度,并更改高于dpi(即75dpi)。

有人可以帮我解决这个问题吗?

最佳答案

如果您使用的是 Linux/OSX,您可以获得这样的图像尺寸:

identify -format "%w %h" input.jpg

因此,如果您想要变量 wh 中的宽度和高度,请执行以下操作:

read w h < <(identify -format "%w %h" input.jpg)

现在您可以测试宽度和高度,并在必要时进行进一步处理:

[ $w -gt 300 -o $h -gt 100 ] && convert input.jpg -set units ...

或者,如果您想更详细:

if [ $w -gt 300 -o $h -gt 100 ]; then
convert ...
fi

所以,我提出的总体解决方案如下所示:

#!/usr/bin/bash
read w h < <(identify -format "%w %h" input.jpg)
[ $w -gt 300 -o $h -gt 100 ] && convert input.jpg -set units ...

JPEGPNG 没有区别,因此只需将我的 JPG 替换为 PNG(如果是这种格式)您的选择。

针对 Windows 进行了更新

好吧,没有其他人帮忙,所以我将发挥我(非常)生疏的 Windows 技能。在 Windows 下获取图像宽度如下:

identify -format "%w" input.png > w.txt
set /p w=<w.txt

现在获取高度:

identify -format "%h" input.png > h.txt
set /p h=<h.txt

现在,您应该在 2 个变量 wh 中获得图像 input.png 的宽度和高度,通过输入进行检查

echo %w%
echo %h%

现在您需要执行一些 IF 语句:

if %w% LEQ 300 GOTO SKIP
if %h% LEQ 100 GOTO SKIP
convert ....
:SKIP

注意::在 Windows 中,您可能需要在百分号前面添加 ^

注意:您可能需要在脚本中使用双@ 符号,因为 Windows 不符合逻辑。

关于ImageMagick 更改图像宽度和高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26560393/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com