以 convert -crop 指令自動裁切圖片

日前瀏覽臉書社團,看到一篇文章想留著多讀幾遍,為了簡潔起見採用網頁截圖方式,再進一步截修圖形,去除不必要的周邊。

但因「拍攝畫面擷圖」功能,會因翻頁而擷取到頁首橫幅,導致內容中斷,於是打算改採分頁擷圖再裁切連接的方式。基於人性本懶的特色,數十張圖想要用指令自動裁切比較省事,找了一下資料,發現 convert 指令能幫上忙。

man convert 查到的參數:

-crop geometry cut out a rectangular region of the image

進一步到 ImageMagick 官網查詢到的參數使用:(有夠複雜的說明)

-crop {size}{offset}

參考前輩們的文件(附註),確定了指令行是這樣的:(更複雜又難懂的說明)

convert -crop WxH+X+Y inputfile outputfile # (Width寬度 x Height高度 + X軸左起點 + Y軸上起點)

於是再加上迴圈執行,就能將資料內全部指定圖形檔都自動裁切完成,省得一一重複動作到發瘋。當然,裁切起始點和裁切尺寸必須事先定好,才能寫進 bash 文件裡執行。(以圖片類別副檔名為參數1)

for f in *.$1
do
    convert -crop 500x678+398+182 "$f" "$outputhere/${f%.*}.$1"
done

 下圖左是擷圖原檔,需要保留的只有中間 1/3;下圖右是 convert -crop 自動裁切的結果,數十個圖檔,幾秒鐘解決。

當然,可以利用參數的方式,將 W、H、X、Y 各項設為變數,值分別指定為 $2、$3、$4、$5 等,便能隨時調整各項數據,方便行事。

 


註:參考文件

https://www.itread01.com/articles/1476454833.html
https://www.netingcn.com/imagemagick-crop.html

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *