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

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

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

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

1 ответ

Решение

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

На самом деле, так как False Color patch - это просто обертка вокруг фильтра 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,

Другие вопросы по тегам