ImageMagick生成指定尺寸縮略圖並且填充背景色的四種方法
參照ImageMagick的文檔
http://www.imagemagick.org/Usage/thumbnails/
一、v6.3.2 以上建議使用
convert -define jpeg:size=200x200 hatching_orig.jpg -thumbnail '100x100>'
-background skyblue -gravity center -extent 100x100 pad_extent.gif
二、v6.3.2之前
convert -define jpeg:size=200x200 hatching_orig.jpg -thumbnail '100x100>'
-bordercolor skyblue -border 50
-gravity center -crop 100x100+0+0 +repage pad_crop.gif
三、v6.2.5以上的另一種方法
convert -define jpeg:size=200x200 hatching_orig.jpg -thumbnail '100x100>'
-gravity center -crop 120x120+0+0!
-background skyblue -flatten pad_view.gif
四、圖片合併的方法
composite -define jpeg:size=200x200 -resize '100x100>' -gravity
center hatching_orig.jpg background.gif composite.gif
經過蜂鳥網友實際上傳的1000張圖片測試
一、pad_extent:60.8s
二、pad_crop:68.3s
三、pad_view:61.8s
四、composite:62.1s
第一種官方推薦的方法速度確實最快,二最慢,總體差距不大(15%以內)
但方法一、二對動畫的gif圖片會生成多個縮略圖,還沒找到參數關閉
方法二的-border參數可能還要根據實際情況修改
方法四要事先準備一張背景圖進行合併,比較麻煩
最後採用第三種方法