2011-02-11 1 views
0

Как бы рисовать UIImage в Core Graphics с размерами 16x16, заполненными случайными пикселями в случайных координатах и ​​случайным оттенком серого? В настоящее время это кажется немного невозможным ...Рисование сетки 16x16 случайных пикселей в Core Graphics

EDIT: Возможно, мне следует начать с диагональной текстуры линии? Моя проблема заключается в заполнении каждого пикселя по одному. Не кажется выполнимым в Core Graphics.

ответ

3

Создайте буфер так, чтобы в нем было столько байтов, сколько нужно пикселей (так, в данном случае, 16 * 16).

Заполните этот буфер, прочитав/dev/random.

Пройдите этот буфер до the CGImageCreate function, используя kCGImageAlphaNone.

Как только вы создали CGImage, это тривиально до create a UIImage from it. В зависимости от ваших требований вы можете создать до восьми «случайных» UIIмагов из одного и того же CGImage на specifying different orientation values.

ETA: Вы также можете попробовать создать буфер с двумя байтами на пиксель и изображение. Затем, используя каждый из the endianness flags, вы можете создать два «случайных» CGImages из того же буфера, в общей сложности 16 «случайных» UIImages. Тем не менее, я не знаю, поддерживается ли двух-байт на пиксель без альфа-оттенков серого для любой версии iOS; the Quartz 2D Programming Guide lists only Mac OS X version numbers.

+0

Красивый ответ! Отлично работает: D –