是否可以在包含alpha組件的屬性文件中指定顏色?當我將一個十六進制數字放在具有alpha通道的屬性文件中時,alpha將被忽略。我注意到decode method of string表示「將字符串轉換爲整數並返回指定的不透明顏色」,並且採用int或十六進制數字的the only single argument constructor也表示它是不透明的顏色。這方面的最佳做法是什麼?通過屬性文件在Java中顯示半透明顏色
我看到的替代品有類似
component.color.red=128
component.color.green=25
component.color.blue=54
component.color.alpha=244
或
component.color=128_25_54_244
,然後手動分手了串入其組成的RGBA組成。這些解決方案對我來說都不是很吸引人。
我記得有一次我看到了另一個屬性項目,我認爲對於swingx來說,它有更好的顏色支持。有人知道那是什麼,它是否可以解決我的問題?
編輯:
正如我在評論的帖子的人說,我想一個解決方案,我可以指定顏色的任何手段,我想在屬性文件(十六進制爲不透明色,半透明符號整數),而不必更改處理解釋顏色的鍵/值對的源代碼。
第二編輯: 我在說的庫是Fuse,它是GUI編程的資源注入框架。
爲了確保我明白了:如果你想設置一個不透明的顏色,要做到這一點: component.color = 0000FF //不透明的藍色 並做半透明的,你想這樣的: component.color = 1996553984 //半透明綠色 正確嗎?你不能以16爲基數存儲一些數據,有些基數爲10的數據,並且期望讀取它們並以相同的方式使用它們。在某些時候,你必須從一個轉換到另一個。 – Kylar
我應該意識到 - 它不能神奇地知道如何處理字符串。 也許我應該保留十六進制RGB格式的所有數字,如果它是透明的,請將它放在十六進制RGBA格式(或ARGB,並不重要)。然後,我將不得不分析字符串,看它是否超過一定的長度;如果它是使用alpha通道,否則不要。 有沒有更好的方法? – I82Much
最簡單的方法是將它們全部存儲爲ARGB,然後您可以解析並直接傳入(如果它是不透明的顏色,則預先填入FF)。 – Kylar