在Core Graphics中绘制一个16x16的随机像素网格

时间:2011-02-11 03:27:50

标签: cocoa-touch random drawing core-graphics pixels

如何在Core Graphics中绘制UIImage,尺寸为16x16,随机坐标和随机灰度颜色填充随机像素?目前这似乎有点不可能......

编辑:也许我应该从对角线纹理开始?我的问题是逐个填充每个像素。在Core Graphics中似乎不可行。

1 个答案:

答案 0 :(得分:3)

创建一个缓冲区,其长度与您想要的像素一样多(因此,在这种情况下,16 * 16)。

通过读取/ dev / random来填充此缓冲区。

使用kCGImageAlphaNone将此缓冲区传递给the CGImageCreate function

创建CGImage后,对create a UIImage from it来说是微不足道的。根据您的要求,您实际上可以通过specifying different orientation values从同一CGImage创建最多八个“随机”UIImages。

ETA:您也可以尝试创建每像素两个字节的缓冲区和图像。然后,通过使用the endianness flags中的每一个,您可以从同一缓冲区创建两个“随机”CGImages,总共16个“随机”UIImages。但是,我不知道在任何版本的iOS上是否支持每像素2字节的无alpha灰度; the Quartz 2D Programming Guide lists only Mac OS X version numbers