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

Wil*_*sch 5 iphone image bitmap ipad ios

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

hot*_*aw2 7

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

使用CGBitmapContextCreate从大小的内存块创建位图上下文

height * width * pixelSize
Run Code Online (Sandbox Code Playgroud)

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

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

myPixelPtr = &bitmap[pixelSize * (x + y * bitmapWidth)];
Run Code Online (Sandbox Code Playgroud)

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