iOS位图图像创建 - 简单示例

时间:2011-04-19 02:17:43

标签: iphone image ios ipad bitmap

我想创建一个100像素宽,200像素高的图像,顶部有100x100红色正方形,底部有100x100棕色正方形[RGB分量0.6,0.4,0.2]。并说我想把它作为一个位图,用直接的C函数吐出每个像素的组件,一次一个像素。 [有更简单的方法来创建该图像,但这里的重点是了解iOS位图 - 下次,我可能会为每个像素设置任意值。]我该怎么做?

1 个答案:

答案 0 :(得分:7)

您要使用的API记录在Apple的CGBitmapContext Reference

使用CGBitmapContextCreate从大小

的内存块创建位图上下文
height * width * pixelSize

(对于ARGB,pixelSize通常为4个字节。)然后,在使用像素后,使用CGBitmapContextCreateImage从位图上下文创建imageRef,然后获得图像。您可以将此图像指定给CALayer的内容以供查看,或在drawRect中绘制图像。

您可以使用C数组语法访问像素:

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

您的像素类型可以是4个无符号字节的C结构,一个用于ARGB,或者只是原始字节。