2011-01-06 69 views
0

我想要在Paint.net中應用相同的亮度濾鏡如何以編程方式應用Paint.NET光度過濾器?

基本上,我想要計算亮度分量並將其設置爲零。 這裏是我試過到目前爲止:

我有很多問題使用這種方法。有時,當我轉換回RGB時,某些組件不在0-255範圍內。此外,當我將曲線設置爲y = 0時,我無法獲得確切的Paint.net光度效果。

Paint.net不是開源代碼。你能幫我理解它的作用嗎?

謝謝。

P.S .:我在C#中編程。

回答

0

我相信他們只是從RGB值中增加/減去一個常量。

R' = max(min(255, R+diff), 0); 
G' = max(min(255, G+diff), 0); 
B' = max(min(255, B+diff), 0); 

雖然,使用您提到的方法可能會產生更正確的結果。獲得超出0-255範圍的值是可以預料的,你必須處理它。你可能也想在你的計算中考慮伽馬校正。