2011-07-16 68 views
2

我想將java.awt.color對象轉換爲字符串。java.awt.color轉換爲java.lang.string

Color c = new Color(255,0,0); 
System.out.print(Color.toString); 

它打印java.awt.Color中[R = 255,G = 0,B = 0]

現在我想解析該字符串和解碼顏色名例如藍色等

我在想有沒有其他方法可以直接將此Color轉換爲String。

在此先感謝。

編輯:我想將這個顏色值存儲在數據庫中。我應該將其存儲爲字符串還是RGB值?

+1

*「我應該將它存儲爲字符串還是RGB值?」*絕對是後者。 –

回答

7

號至少是因爲:

  • 幾個RGB組合有顏色的名稱
  • Java不持有的所有語言它有

,但你可以的語言環境支持的顏色名稱否則。獲取Color中的預定義常量,並檢查它們中是否有與給定顏色相同的RGB。如果是這樣 - 打印名稱。

至於你添加的問題 - 存儲它作爲RGB值而不是字符串。

0

您可以使用方法getRed()getBlue()getGreen()getAlpha()獲得的,而不是分析從toString()返回的字符串顏色的成分。您還可以將顏色與java.awt.Color中的靜態字段進行比較(使用Equals。)

+0

爲什麼要獲取組件?例如'Color.blue.equals(新顏色(0,0,255))'。 – trashgod

+0

我的意思是,獲取顏色的組件,而不是解析從'java.awt.Color.toString()'返回的字符串。 –

1

您必須首先列出商定的顏色名稱,例如these。然後建立一個Map<Color, String>)從中獲取名稱。

相關問題