2011-03-14 58 views
2

我剛開始學習Quartz Composer,我想創建的第一件作品是一個最終可用於Cocoa應用程序的作品,它可以接受黑白圖像和兩個NSColor,並將黑色像素更改爲NSColor#1,將白色像素更改爲NSColor#2。質量控制成分,將黑白像素轉換爲其他兩種顏色

我花了一些時間玩QC,但似乎無法弄清楚如何把所有的東西放在一起。

關於我唯一想到的是我需要使用圖像過濾器模板,我確實看到有一個圖像像素補丁可以從圖像獲取像素......但是,我沒有看到補丁來設置一個像素。 Pixellate補丁似乎也可能是必要的......儘管如此,我不必擔心它會產生無限大的圖像,因爲我的源圖像只能是固定大小的PNG圖像。

回答

1

看看False Color補丁 - 它會拍攝一張圖像並用一對顏色重新映射它。

事實上,由於False Color補丁僅僅是圍繞具有相同的名稱(CIFalseColor)核心圖像過濾器的包裝,你可以這樣做,而不涉及石英作曲家都---剛剛成立並應用CIFilter實例你的NSImage。

編輯 - 或寫自己的核心圖像過濾器,首先是這樣的:

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

...這需要輸入圖像(sample(image, samplerCoord(image)).r)的紅色通道的亮度,並使用它作爲colorForDarkcolorForLight之間的線性插值係數。

+1

謝謝。我將不得不更深入地瞭解CIFalseColor。然而,我仍然有興趣學習如何基本上從頭開始編寫假彩色補丁...如果這是可能的。我認爲這可能是學習一些有趣技術的好方法。如果這是不可能的,那也同樣有趣。 – ericg 2011-03-15 01:32:17

+0

+1爲「編寫你自己的核心圖像過濾器」的建議。您不可能在構圖本身轉換每個像素的情況下構建QC構圖。 (嗯,這可能是可能的,但它不會有效。)如果您想要轉換圖像,則需要使用將圖像作爲輸入並生成圖像作爲輸出的補丁。如果沒有可以做到你想要的補丁,那麼把它作爲核心圖像過濾器編寫並不難。 – 2012-03-12 02:38:06

相關問題