调整4500x5400图片至4050x4200 保留比例及上下内容
解决ImageMagick图片缩放与扩展的问题
你的问题出在-resize参数的使用上——原命令里的-resize 4500x5400其实是让图片保持原尺寸不变,之后用-extent裁剪到4050x4200时,因为原高度5400比目标高度4200大,居中对齐就会裁剪掉上下部分。要实现你要的效果,得调整操作顺序:先按目标高度等比例缩放,再扩展画布到指定宽度添加透明边。
正确的命令
convert file.png -resize x4200 -gravity center -background transparent -extent 4050x4200 out.png
各参数的作用详解
-resize x4200:只指定缩放后的高度为4200,ImageMagick会自动按照原图片的宽高比(4500:5400=5:6)计算出对应的宽度是3500,这样整个图片内容会被完整缩小,不会裁剪任何部分。-gravity center:设置画布扩展时的对齐方式,让缩放后的图片居中显示,两侧的透明区域会均匀分布。-background transparent:指定扩展出来的区域背景为透明色,匹配你的需求。-extent 4050x4200:将图片的画布尺寸扩展到4050x4200,因为缩放后的宽度3500小于4050,左右两侧会自动填充透明区域,而高度刚好是4200,完全保留了缩放后的上下内容。
这样处理后,你就能得到高度4200、宽度4050,两侧带透明区域且完整保留原图片所有内容的结果啦!
内容的提问来源于stack exchange,提问作者Felipe Michelin
相关产品推荐
相关产品推荐

