2012-07-11 110 views
2

我在iPhone上獲取原始數據和編輯UIImage的Alpha值時產生了奇怪的結果,但遇到了一些麻煩。如果觸摸的像素顏色不是全黑,它看起來不像完整的alpha。以下是結果:UIImage上的iOS alpha問題

開始未修改

Unmodified

灰色感動把所有灰色的α= 0

Touched

然後,如果我觸摸怪異粉飾面積爲據推測阿爾法0,它將所有像素完全黑到阿爾法0即使技術上

//沒有鏈接沒有足夠的代表//

有沒有人有任何線索是怎麼回事?這與預乘alpha有關嗎?或者也許我正在編輯這些值。如果您需要查看代碼,請告訴我,我將對其進行編輯。

作爲附加說明,灰色區域是第二次按下清潔區域時的輪廓,而不是alpha只是0其他值等於0,當它們應該保持原樣時。

回答

1

對,通過實驗,反覆試驗和剪切運氣我發現了問題的解決方案,我不知道原因,但是這個問題解決了它。

獲取原始數據時,我用這個功能來獲取位圖信息的背景下

CGBitmapInfo imageInfo = CGImageGetBitmapInfo(imageRef); 

,並使用相同的變量然後創建從編輯的原始數據CGImage。因此,瘋狂

修復它的方法是從原始數據創建時使用「imageInfo」,而不是使用標誌kCGImageAlphaLast

固定,但不是爲什麼。