2009-09-20 30 views
3

我正在嘗試繪製具有某些透明區域的圖像。 予加載使用透明色可以在模擬器上使用,但在iPhone上會變黑

image = [UIImage imageNamed:@"testimage.png"]; 

的圖像並使用

[image drawAtPoint:CGPointMake(0,0)]; 

在其上予繪製圖像的的UIView不是不透明繪製它(它有一個透明背景顏色)。

問題是,一切工作正常在模擬器上,但是當我在我的iPhone上運行應用程序的透明顏色變成黑色!任何人都可以指出我的錯誤?

+0

嗯,我現在已經嘗試了另一個透明的測試圖像,實際上在我的iPhone上正常工作!在iPhone上顯示不正確的圖像通過irfanView變得透明。它在Mac的封面流程中看起來很透明,但我猜iPhone不接受各種PNG:s .... – ragnarius 2009-09-21 17:11:54

+0

你是如何使用irfanView對圖像應用透明的? – 2010-06-21 07:12:56

回答

2

這個問題的正確答案是你保存圖像的.PNG格式。如果保存爲PNG-8,則會更頻繁地遇到此問題,因爲它只支持1種透明顏色。如果您打開.PNG文件,然後將其重新保存爲24位格式,您將獲得真正的透明度。

參考this thread供討論和澄清。

  • 編輯:只是要清楚,.PNG沒有'alpha通道',所以克里斯的答案是誤導。只要確保在啓用透明度的情況下保存爲24位格式。
3

今天我和我的照片有同樣的問題。我在GraphicConverter中創建了我自己的照片。

我的解決方案是爲圖片添加一個alpha通道。我使用Picture => Alpha Channel =>創建透明度Alpha通道中的命令,使用GraphicConverter完成了此操作。這可能是因爲我在德語語言設置中使用該應用程序時,該命令對您有不同的名稱。

希望這會有所幫助。

+0

太棒了。感謝您的詳細解釋。 – benvolioT 2011-01-24 05:51:10

0

我解決了我的問題,將它加載到colorsync然後保存。

相關問題