2012-03-25 105 views
0

我想更改NSImage「亮度」NSImage:更改亮度

我已經搜索了一下四周,但我什麼也沒找到真正有用的...

那麼,什麼是最簡單的,可可友好的方式來做到這一點?

+0

愚蠢的方式做這將是提高每個像素(不會超過255的RGB值)但我敢打賭有石英過濾器來做到這一點。 – Ali 2012-03-25 10:09:11

+1

用更多白平衡給圖像着色? http://stackoverflow.com/questions/1413135/tinting-a-grayscale-nsimage-or-ciimage – amleszk 2012-03-25 11:03:24

回答

7

您可以使用核心圖像濾鏡。但是您需要使用CIImage而不是NSImage,因此您需要將其轉換。這裏是所有過濾器的CIFilter Reference。看看「CIColorControls」它會讓你實現你想要的。

CIColorControls

調整飽和度,亮度和對比度值。

參數

inputImage的(A CIImage類,其顯示名稱是圖像)。

inputSaturation(一個NSNumber類,其屬性類型是CIAttributeTypeScalar和顯示名稱是飽和 默認值:1.00最小:0.00最大:2.00滑塊最小:0.00滑塊最大:2.00身份:1.00)

inputBrightness(一個NSNumber類,其屬性類型是CIAttributeTypeScalar和顯示名稱是亮度 默認值:0.00最小:-1.00最大:1.00最小滑塊:-1.00滑塊最大:1.00身份:0.00)

inputContrast(屬性類型爲CIAttributeTypeScalar,顯示名稱爲Contrast的NSNumber類。 默認值:1.00最低:0.00最高:4.00滑塊最低:0.00滑塊最大:4.00身份:1.00)

+0

非常感謝!我會看看它... – 2012-03-25 16:30:09

+0

賈斯汀 - 他們是否改變了文檔?上面列出的內容與文檔中的內容不同,IE沒有列出最小值和最大值。或者你從別的地方得到了這些? – 2013-01-29 19:35:58

+0

@CoDEFRo我從Apple開發者庫中從鏈接獲取它到參考。他們改變了文件。 – 2013-01-29 20:09:12

1

您可以使用coreImage。看看Core Image Fun House應用程序code

+0

非常感謝!我會看看它... – 2012-03-25 16:30:00