2012-05-20 70 views
0

我使用的代碼與此問題的答案非常相似(的確如此):Crop whitespace from image in PHP。我也嘗試了這個確切的代碼,以達到相同的效果:在PHP中修剪PNG周圍的空白字體

我發現它不起作用(不修剪空白)與PNG源,即使PNG的背景是真正的白色(不透明)。我可以發送輸出到imagepng沒有問題,但如果圖像源是imagecreatefrompng,沒有任何修剪。

是否有一種可靠的方法來修剪使用GD的PNG空格?或者也許是一種將白色轉換爲透明並將其修剪的方法?或者,其他解決方案...?

回答

0

這是一個完全未經測試的猜測。不過,我會假設阿爾法透明度導致這個問題。你提到的答案可能需要一些工作。

也許嘗試使用imagecopymerge()將圖像放置在白色畫布上,然後執行答案中提到的步驟。

+0

一個很好的建議,但不幸的是它沒有效果。 – k3davis

+0

事實上,這確實奏效 - 我在代碼中引入了一個單獨的錯誤。它似乎不是最優雅或資源友好的解決方案,但它確實有效。 – k3davis

+0

@ k3davis是的,GD不是最優雅的庫(當我過去使用它時,我已經將這些功能放在了一個門面後面,爲每個圖像類型分別設置了一個類,以消除這些不一致。這讓我可以像'$ image-> cropWhitespace()'那樣做,而不必擔心它是否具有alpha透明性。 –