簡體   English   中英

imagemagick從透明PNG修剪底部

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM