我有一個未掩蔽CGImage,每個像素使用四個字節RGBA,其最初的幾個像素是:哪裏從CGImageCreateWithMask產生的CGImage保持α值
C5 D2 D4 FF
C7 D4 D6 FF
C8 D5 D6 FF
C6 D4 D3 FF
C7 D5 D4 FF
我然後進行掩蔽的圖像中灰度級(即,一個每像素字節)
最後,我打電話給CGImageCreateWithMask敷面膜。所得到的掩蔽圖像的前幾個像素是:
C5 D2 D4 FF
C7 D4 D6 FF
C8 D5 D6 FF
C6 D4 D3 FF
C7 D5 D4 FF
如果我將這個CGImage轉換爲UIImage並將其添加到圖像控件中,這些前幾個像素正確地100%透明,但其底層像素不正確地爲100%不透明。
這是我用來查看任何CGImage字節的模式。
let imageCGDataProvider:CGDataProvider? = CGImageGetDataProvider(imageCG)
let imageCGPixelData:CFData? = CGDataProviderCopyData(imageCGDataProvider!)
let imageCGData:UnsafePointer<UInt8> = CFDataGetBytePtr(imageCGPixelData!)
如何獲取被蒙版的CGImage中的像素的字節值,即應用了蒙版的字節值?
我最終使用了非常相似的代碼給你,+1用於發現指針是相同的。這當然值得被標記爲答案,但我會稍微拖延一下,以防萬一我們得到如何在沒有平局的情況下做到。我希望這沒關係 – dumbledad
@dumbledad這很好,我還想看看如何做到這一點,而不必繪製(或手動掩蓋數據)的方法! – Hamish