Рисование сетки случайных пикселей 16x16 в Core Graphics - PullRequest
0 голосов
/ 11 февраля 2011

Как бы я нарисовал UIImage в Core Graphics с размерами 16x16, заполненными случайными пикселями со случайными координатами и случайным цветом серого? Это кажется немного невозможным в данный момент ...

РЕДАКТИРОВАТЬ: Возможно, я должен начать с текстуры диагональной линии? Моя проблема заключается в заполнении каждого пикселя по одному. Не кажется выполнимым в Core Graphics.

1 Ответ

3 голосов
/ 11 февраля 2011

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

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

Передайте этот буфер в функцию CGImageCreate , используя kCGImageAlphaNone.

После создания CGImage тривиально создать из него UIImage . В зависимости от ваших требований вы можете фактически создать до восьми «случайных» UII-изображений из одного и того же CGImage, указав , указав различные значения ориентации .

ETA: Вы также можете попробовать создать буфер размером 2 байта на пиксель и изображение. Затем, используя каждый из флагов порядка байтов , вы можете создать два «случайных» CGImage из одного и того же буфера, всего 16 «случайных» UIImages. Тем не менее, я не знаю, поддерживается ли двухбайтовый пиксель без альфа-оттенков в любой версии iOS; Руководство по программированию Quartz 2D содержит только номера версий Mac OS X .

...