[英]imagemagick trim the bottom from transparent PNG
我正在嘗試編寫一個 imagemagick 命令來修剪透明 PNG 底部的透明像素。 我找到了這些命令並將它們修改為僅在底部起飛。 但是輸出並不像預期的那樣。
經過反復試驗,我發現該命令似乎正在生成最小高度的圖像。 如果設計太高,它會在下面留下透明像素。 但是,沒有什么能引起我的注意,因為它是導致這種情況的命令的元素?
我已經包含了我修剪的 3 個文件以及以下命令生成的 3 個結果:
convert \( ORIGINAL.png -bordercolor none -border 1x0 \) -size 1x1 xc:black -gravity west -composite -size 1x1 xc:black -gravity east -composite -size 1x1 xc:black -gravity north -composite -fuzz 10% -trim +repage -bordercolor white -shave 1x0 TRIMMED.png
convert \( ORIGINAL2.png -bordercolor none -border 1x0 \) -size 1x1 xc:black -gravity west -composite -size 1x1 xc:black -gravity east -composite -size 1x1 xc:black -gravity north -composite -fuzz 10% -trim +repage -bordercolor white -shave 1x0 TRIMMED2.png
convert \( ORIGINAL3.png -bordercolor none -border 1x0 \) -size 1x1 xc:black -gravity west -composite -size 1x1 xc:black -gravity east -composite -size 1x1 xc:black -gravity north -composite -fuzz 10% -trim +repage -bordercolor white -shave 1x0 TRIMMED3.png
如果有人可以請解釋我在這個高度問題方面所缺少的東西,我將不勝感激。
這些是 3 個原始文件和 3 個結果,顯示結果如何隨着原始文件的變化而變化。
這就是我想要實現的 - 從圖像底部刪除空白區域。 如果圖像太高,我現在不希望圖像后面有空間我仍然在下面有空間(見最后一個結果,右下角)
如果您嘗試刪除“-trim”將刪除的內容,但僅從圖像的底部邊緣刪除,則此命令應為您提供該結果...
convert input.png -background none -set page %[@] \
-set option:distort:viewport %[w]x%[fx:page.y+page.height] \
+repage -distort SRT 0 result.png
它首先設置一些包含“-trim”操作結果的變量,但實際上並未刪除任何內容。 然后它使用這些變量來計算輸出視口的修剪后尺寸。 然后它使用無操作“-distort”有效地將圖像裁剪為計算的輸出尺寸,僅去除底部多余的透明像素。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.