2012-08-31 83 views
1

我有一個iPhone應用程序,您可以從圖像中選擇一個像素,它將返回RGBA顏色詳細信息。檢查像素是否在特定顏色範圍內

我需要能夠確定所選像素是否在一定的顏色範圍內,例如,特定顏色的明亮或黑暗變化。

這樣做最有效的方法是什麼?

+1

您是否考慮過使用色調,飽和度和亮度? ' - (BOOL)getHue:(CGFloat *)色調飽和度:(CGFloat *)飽和度亮度:(CGFloat *)亮度alpha:(CGFloat *)alpha ' – zaph

+0

這是我考慮過的事情,我只是想知道準確地說,它會檢測一個顏色是否在一定範圍內。 – AndyC

+2

我同意@Zaph,一旦你知道色相,飽和度和亮度,你可以在一個特定的點上定義一個「3D球體」。色調是什麼定義的顏色,飽和度是多麼生動的顏色是(或灰色),亮度是亮度的數量。我會假設你想要一個緊密的色調,一個寬鬆的飽和度和亮度值,如果你沒有透明度,不需要看alpha。 – Resh32

回答

3

你首先必須將RGBA顏色空間轉換成HSBA(由@Zaph的建議)

- (BOOL)getHue:(CGFloat *)hue saturation:(CGFloat *)saturation brightness:(CGFloat 
*)brightness alpha:(CGFloat *)alpha 

一旦你知道的色調,飽和度和亮度,你可以定義圍繞一個特定的一個「3D球體」點。色調是什麼定義的顏色,飽和度是多麼生動的顏色是(或灰色),亮度是亮度的數量。

我會假設你想要一個緊密的色調和一個寬鬆的飽和度和亮度值,如果你沒有透明度,不需要看alpha。

相關問題