2011-07-03 71 views
0

我需要將顏色整數值轉換回文本?例如,看看這個富有想象力的代碼將顏色整數轉換爲文本?

int myColor = -16777216; //int value for Color.BLACK 
convertColorToText(myColor); 

該方法將返回值爲「BLACK」的字符串。

這是可能的和如何做到這一點?


UPDATE

我的應用程序使用拾色器(code.google.com/p/android-color-picker),我想通知顏色已經選擇了他哪個用戶。例如,他選擇黑色,單擊確定按鈕,並看到Toast說「您選擇了黑色」。

回答

4

我不認爲你可以開箱即用,最好你可以做的是建立一個已知顏色的地圖或列表(例如使用'紅色','藍色','綠色','black','white','gray','cyan','magenta','yellow','lightgray','darkgray' - > parseColor方法可以理解的標準android顏色http://developer.android.com/reference/android/graphics/Color.html#parseColor(java.lang.String)

然後你可以通過查找和精確匹配來找到它(但是這樣做的用處會受到限制),或者找到CLOSEST顏色。您可以在此找到一個很好且最簡單的找到最佳匹配的算法,例如:Best algorithm for matching colours.

+0

我想要通知用戶他選擇了哪種顏色,如果他選擇了黑色,那麼我希望他請參閱「您選擇了黑色」。他從Color Picker項目(http://code.google.com/p/android-color-picker/) – sandalone

+1

中選擇顏色,因此您需要按照上面的解釋構建映射 - 也許您需要添加更多種顏色,但它會工作正常(你只需要有一個RGB->顏色名稱的映射並找到最接近的匹配)。 –

+1

我想補充一點,這個顏色選擇器可以讓你輕鬆獲得色調,這是最簡單的顏色值。 – Gregory