我有一個圖像,在其RGB組件是完全白色,具有不同的阿爾法 - 例如,在RGBA格式0xFFFFFF09。但是,當我用UIImage或CGImage API加載這個圖像,然後在CGBitmapContext中繪製它時,它會出現灰度,將RGB組件設置爲alpha的值 - 所以在上例中,像素會出來0x09090909而不是0xFFFFFF09。因此,應該是白色的,透明度不同的圖像,實際上是透明的,而不是透明的。我加載的PNG文件沒有問題 - 各種圖形程序都能正確顯示它。UIImage/CGImage改變我的像素顏色
我想知道這是否可能與我使用kCGImageAlphaPremultipliedFirst有關,但我無法試驗它,因爲CGBitmapContextCreate失敗並顯示其他值。
這裏最終的目的是獲得像素數據,我可以上傳到紋理與glTexImage2D。我可以使用libPNG完全繞過iOS API,但還有其他建議嗎?非常感謝。
這個問題已經過時了嗎?如果不是,你能否提供代碼來加載示例項目中的圖像以重現問題? – Kjellski
感謝您的報價。我無法弄清楚這一點,因此放棄了CGImage API的使用,並直接使用libpng加載圖像。 – RedMarbleGames