如何用ImageMagick实现横竖版图片转带模糊边正方形的通用命令?
通用横竖版图片转带模糊边缘正方形的ImageMagick命令
直接使用以下命令即可同时处理横版和竖版图片,无需区分方向:
magick input.jpg -fuzz 15% -trim +repage \ \( -clone 0 -resize "%[fx:max(w/h,h/w)*100]x%[fx:max(w/h,h/w)*100]%" -blur 0x10 \) \ +swap -gravity center -compose over -composite squared_result.jpg
命令说明:
-fuzz 15% -trim +repage:自动裁剪图片边缘空白区域,+repage重置画布坐标,避免后续处理出现偏移- 括号内操作:克隆裁剪后的原图,通过
%[fx:max(w/h,h/w)*100]自动计算缩放比例——横版时取w/h*100,竖版时取h/w*100,确保缩放后的模糊背景刚好铺满正方形画布,再执行-blur 0x10添加模糊效果 +swap:交换原图与模糊背景的层级,将原图置于上层-gravity center -compose over -composite:把原图居中合成到模糊背景上,最终生成带模糊边缘的正方形图片
原命令问题分析:
- 依赖外部
identify命令嵌套执行时,$1参数可能未正确传递(直接执行而非脚本调用时$1为空),导致比例计算错误 - 手动区分横竖版的方式冗余,且容易因参数修改失误导致效果异常
内容的提问来源于stack exchange,提问作者raumkundschafter
相关产品推荐
相关产品推荐

