10

(e.g. "#FFFFFF")ColorのJavaクラスのドキュメントを調べたところ、メソッドを使用して16進コード文字列からColorオブジェクトを生成できることがわかりましたColor.decode();

作業中のプロジェクトに逆のプロセスを実装したいのですが、このためのクラスにすでに組み込まれているメソッドがないようです。

これを行う簡単な方法はありますか?

4

4 に答える 4

19
String.format("#%06x", color.getRGB() & 0x00FFFFFF)

マスキングは、ビット24〜31のアルファコンポーネントを削除するために使用されます

于 2013-02-27T14:03:18.653 に答える
3
Color color = Color.BLUE;
Formatter f = new Formatter(new StringBuffer("#"));
f.format("%02X", color.getRed());
f.format("%02X", color.getGreen());
f.format("%02X", color.getBlue());
f.toString(); //#0000FF
于 2013-02-27T14:21:33.513 に答える
1

これを読んでください:JColorChooserでHtmlカラーコードを取得する

答えには、色を16進値に変換する方法があります。

于 2013-02-27T14:01:56.163 に答える
0

別の方法があります。私はこの代替案を追加するだけだと思った。

// ARGB = (255, 255, 0, 0) (Red) 
// hex -> "ffff0000"
String hex = Integer.toHexString(color.getRGB());

// Reduced to RGB: hex -> "#ff0000"
hex = "#" + hex.substring(2, hex.length());
于 2014-12-21T16:43:25.800 に答える