How would I draw a UIImage in Core Graphics with dimensions 16×16 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. 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
CGImageCreatefunction usingkCGImageAlphaNone.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.