2012-05-20 71 views
0

我可能並不總是理解API中的每個函數,但通常我至少可以開始解決某個問題。這一次,我甚至不知道這是可能的或如何攻擊它......iOS - 計算區域中顏色的百分比

我在屏幕上有一個區域,用戶可以繪製。這工作正常。他們用三種不同的顏色畫出三種不同的情況。我需要檢測該區域三種不同顏色的百分比覆蓋率。似乎沒有辦法獲得單個屏幕像素的顏色值。你會如何處理這個問題?

回答

1

您可以通過創建一個位圖圖形上下文來創建一個分配的內存塊,並將其傳遞給CGBitmapContextCreate

然後,您可以簡單地將您的視圖或圖像繪製到該上下文中(例如,使用CALayer方法renderInContext:)。您分配的內存塊將包含您已經繪製到上下文中的像素數據。字節順序取決於創建上下文時指定的選項,通常它是RGBA(一個字節表示紅色,下一個表示綠色等)。

+0

然後我會使用CGBitmapContextGetData來實際訪問像素數據? – simusid

+0

是的,或者如果您自己分配數據,則可以使用它。 – omz