开发者

Drawing a 16x16 grid of random pixels in Core Graphics

How would I draw a UIImage in Core Graphics with dimensions 16x16 filled with random pixels at random coordinates and random grayscale color? This seems slightly impossible to do at the moment...

EDIT: Perhaps I should start with a diagonal line texture? My problem is filling in each pixel one by one. 开发者_Python百科Doesn't seem doable in Core Graphics.


Create a buffer as many bytes long as you want pixels (so, in this case, 16 * 16).

Fill this buffer by reading from /dev/random.

Pass this buffer to the CGImageCreate function using kCGImageAlphaNone.

Once you have created a CGImage, it is trivial to create a UIImage from it. Depending on your requirements, you can actually create up to eight “random” UIImages from the same CGImage by specifying different orientation values.

ETA: You might also try creating a two-byte-per-pixel buffer and image. Then, by using each of the endianness flags, you can create two “random” CGImages from the same buffer, for a total of 16 “random” UIImages. However, I don't know whether two-byte-per-pixel no-alpha grayscale is supported on any version of iOS; the Quartz 2D Programming Guide lists only Mac OS X version numbers.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜