要将横向图像转换为边缘模糊的正方形,我使用以下命令:
magick input.jpg -fuzz 15% -trim +repage \( -clone 0 -resize 100x`identify -format "%[fx:w/h*100]" $1`% -blur 0x10 \) +swap -gravity center -compose over -composite squared_landscape.jpg
结果看起来不错: 然而,对参数略有变化的肖像图像尝试相同的方法(交换
h/w
分区以获得长宽比 > 1)不会提供相同的结果:
magick input.jpg -fuzz 15% -trim +repage \( -clone 0 -resize `identify -format "%[fx:h/w*100]" $1`x100% -blur 0x10 \) +swap -gravity center -compose over -composite squared_portrait.jpg
执行返回纵横比
identify -format "%[fx:h/w*100]" input.jpg
且图像为 2000x2525px
的嵌套位会产生 126.25
的纵横比,这应该会再次产生正方形。然而,执行像上面这样嵌套的命令不会产生所需的结果。
最终的想法是使用相同的通用线将纵向和横向图像格式化为所需的平方结果。
在 Imagemagick 中尝试此命令。横向或纵向相同。 Unix 语法。
肖像:
magick monet2.jpg \
\( -clone 0 -blur 0x10 \) \
\( -clone 0 -gravity center -crop "%[fx:min(w,h)]x%[fx:min(w,h)]+0+0" +repage \) \
-delete 0 \
-gravity center -compose over -composite monet2_blurcrop.jpg
风景:
magick barn.jpg \
\( -clone 0 -blur 0x10 \) \
\( -clone 0 -gravity center -crop "%[fx:min(w,h)]x%[fx:min(w,h)]+0+0" +repage \) \
-delete 0 \
-gravity center -compose over -composite barn_blurcrop.jpg