Композиция QC, которая преобразует черные и белые пиксели в два других цвета - PullRequest
2 голосов
/ 15 марта 2011

Я только начинаю узнавать о Quartz Composer, и первое, что я хотел бы создать, - это композиция, которая может в конечном итоге использоваться в приложении Cocoa, которое будет принимать черно-белое изображение и два NSColor и менять черные пиксели. на NSColor # 1 и белые пиксели на NSColor # 2.

Я провел некоторое время, играя с КК, но не могу понять, как собрать все части вместе.

О единственной вещи, которую я выяснил, это то, что мне нужно использовать шаблон Image Filter, и я вижу, что есть патч Image Pixel, который может получать пиксели из изображения ... однако я не вижу патча установить пиксель. Также кажется возможным, что исправление Pixellate может быть необходимо ... хотя мне не нужно беспокоиться о том, что оно создает изображение с бесконечными размерами, поскольку мои исходные изображения будут иметь только изображения PNG фиксированного размера.

1 Ответ

1 голос
/ 15 марта 2011

Посмотрите на патч False Color - он берет изображение и сопоставляет его с парой цветов.

На самом деле, поскольку патч False Color является просто оберткой вокруг фильтра Core Image с тем же именем (CIFalseColor), вы можете сделать это вообще без использования Quartz Composer - просто настроитьи примените экземпляр CIFilter к вашему NSImage.

Редактируйте - или напишите свой собственный фильтр Core Image, начиная с чего-то вроде этого:

kernel vec4 remapBasedOnRed(sampler image,__color colorForDark,__color colorForLight)
{
    return mix(colorForDark,colorForLight,sample(image, samplerCoord(image)).r);
}

..., который принимает яркостькрасный канал входного изображения (sample(image, samplerCoord(image)).r) и использует его в качестве коэффициента для линейной интерполяции между colorForDark и colorForLight.

...