(e.g. "#FFFFFF")
ColorのJavaクラスのドキュメントを調べたところ、メソッドを使用して16進コード文字列からColorオブジェクトを生成できることがわかりましたColor.decode();
。
作業中のプロジェクトに逆のプロセスを実装したいのですが、このためのクラスにすでに組み込まれているメソッドがないようです。
これを行う簡単な方法はありますか?
String.format("#%06x", color.getRGB() & 0x00FFFFFF)
マスキングは、ビット24〜31のアルファコンポーネントを削除するために使用されます
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
これを読んでください:JColorChooserでHtmlカラーコードを取得する
答えには、色を16進値に変換する方法があります。
別の方法があります。私はこの代替案を追加するだけだと思った。
// 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());