2012-05-20 5 views
0

Возможно, я не всегда понимаю каждую функцию в API, но обычно я могу хотя бы начать работу над проблемой. На этот раз я даже не знаю, возможно ли это или как его атаковать.iOS - вычисление процента цвета в области

У меня есть область на экране, которую пользователь может нарисовать. Это прекрасно работает. Они рисуют тремя разными цветами, обозначая три разных случая. Мне нужно определить процентное покрытие трех разных цветов в этом районе. Кажется, что нет никакого способа получить значение цвета для одного пикселя экрана. Как бы вы к этому подошли?

ответ

1

Вы можете сделать это, создав растровый графический контекст с блоком памяти, который вы выделите и перейдете на CGBitmapContextCreate.

Затем вы можете просто нарисовать свое представление или изображение в этом контексте (например, используя метод CALayerrenderInContext:). Блок памяти, который вы выделили, затем будет содержать пиксельные данные того, что вы нарисовали в контексте. Порядок байтов зависит от параметров, которые вы указали при создании контекста, обычно это будет RGBA (один байт для красного, следующий для зеленого и т. Д.).

+0

, а затем я бы использовал CGBitmapContextGetData для фактического доступа к данным пикселя? – simusid

+0

Да, или если вы сами выделили данные, вы можете просто использовать это. – omz

Смежные вопросы