Есть ли способ быстро изменить отдельные значения цвета в изображении?

Например, у меня есть CGImageRef, и я хочу переместить все пиксели, красные на оранжевые. Или, другими словами, я хочу применить функцию значения на каждом пикселе изображения, которая изменяет пиксель на основе значений RGBA, которые он имеет. Таким образом, функция value будет вычислять новые значения компонентов для этого пикселя на основе текущих значений компонента и некоторого алгоритма, применяемого к нему.

Я знаю, как я мог бы кодировать это вручную со 100 строками кода, но мне интересно, есть ли более простой и, возможно, даже более быстрый способ?

Я считаю, что Брэд Ларсон упоминал о том, что такие вещи можно сделать на графическом процессоре легко и быстро. Тем не менее, я должен поддерживать iOS 3.2, поэтому он не должен быть слишком причудливым.

Был бы рад любым идеям. Благодаря!

Solutions Collecting From Web of "Есть ли способ быстро изменить отдельные значения цвета в изображении?"

Насколько я знаю, нет никаких встроенных функций для достижения желаемого.

Самый простой способ получить ускорение графического процессора при выполнении пользовательских манипуляций с изображениями на уровне пикселей – это использовать Accelerate.framework . Accelerate будет использовать «лучший путь выполнения» на основе доступного оборудования.

Однако … порт для iOS был сделан только для iOS4

(отказ от ответственности: у меня мало опыта и знаний обо всем, что возможно в OpenGL, поэтому, чтобы мой ответ был ограничен в рамках основных платформ iOS)