2011-04-19 39 views
4

說我想創建一個100像素寬,200像素高的圖像,頂部有一個100x100的紅色正方形和100x100的棕色正方形[RGB分量0.6,0.4,0.2]底部。並說我想要做一個位圖,用一個直C函數爲每個像素分配一個像素,一次一個像素。 [有更簡單的方法來創建該圖像,但重點在於理解iOS位圖 - 下一次,我可能會爲每個像素創建任意值。]我該怎麼做?iOS位圖圖像創建 - 簡單示例

回答

6

您要使用的API記錄在Apple的CGBitmapContext Reference中。

使用CGBitmapContextCreate從的大小的內存塊創建位圖上下文

height * width * pixelSize 

(pixelSize通常是ARGB 4個字節)。然後,與像素播放後,使用CGBitmapContextCreateImage創建從imageRef位圖上下文,並且你有你的圖像。您可以將此圖像分配給CALayer的內容進行查看,或在drawRect中繪製圖像。

可以使用C數組語法來訪問像素:

myPixelPtr = &bitmap[pixelSize * (x + y * bitmapWidth)]; 

你的像素型罐的4個無符號字節,每一個用於ARGB,或只是原始字節的C結構。