Som*_*Guy 6 imagemagick imagemagick-convert
我正在尝试调整图像大小(使用 imagemagick)以保持其当前的纵横比,但将其放入 4/3 容器中。
这是我到目前为止的命令:
magick convert ./horse.jpeg -background white -gravity center -extent 4/3 ./hourse_output.jpeg
Run Code Online (Sandbox Code Playgroud)
这就是我想要的:
。正如您所看到的,图像被“放入”4/3 容器中。
我的错误。ImageMagick -extent 中的宽高比(例如 4:3)只会裁剪而不会填充。
请参阅我的 bash unix 脚本“aspectpad”,网址为http://www.fmwconcepts.com/imagemagick/index.html,我认为它可以满足您的需求。
尽管如此,这里还是如何做到这一点的部分解决方案。但这仅适用于横向模式输入。由于使用了 -extent 的内联参数,因此也仅适用于 ImageMagick 7。您必须将其修改为纵向模式。
输入(宽高比 2:1 = 2/1 = 2):
magick barn_2to1.jpg -set option:wd "%[fx:(4/3)>(w/h)?(4/3*h):w]" -set option:ht "%[fx:(4/3)>(w/h)?h:(w/(4/3))]" -gravity center -background black -extent "%[wd]x%[ht]" result.jpg
Run Code Online (Sandbox Code Playgroud)
输出(长宽比 4:3 = 4/3 = 1.33):
请注意,我使用了黑色背景,以便它在这里可见。更改为您想要的任何其他颜色。
如果输入横向宽高比大于 4:3 (4/3),它将填充在顶部/底部。如果输入横向宽高比小于 4:3,它将向左/右填充。
输入(长宽比=1:1 = 1/1 = 1):
magick lena.jpg -set option:wd "%[fx:(4/3)>(w/h)?(4/3*h):w]" -set option:ht "%[fx:(4/3)>(w/h)?h:(w/(4/3))]" -gravity center -background black -extent "%[wd]x%[ht]" result2.jpg
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11389 次 |
| 最近记录: |