私のアプリケーションにはARGBカラーを変更できるスライダがいくつかありますが、これらの値は0xff000000のような16進値に変換する必要があります。RGBA値を16進数のカラーコードに変換する
これは私がこれまで持っているものです。
protected int toHex(Color col) {
String as = pad(Integer.toHexString(col.getAlpha()));
String rs = pad(Integer.toHexString(col.getRed()));
String gs = pad(Integer.toHexString(col.getGreen()));
String bs = pad(Integer.toHexString(col.getBlue()));
String hex = "0x" + as + rs + gs + bs;
return Integer.parseInt(hex, 16);
}
private static final String pad(String s) {
return (s.length() == 1) ? "0" + s : s;
}
ただし以下のような整数値を取得すると、私は入力文字列のためにはNumberFormatExceptionを得る:「0xccffffff」:
int color = toHex(new Color(153f, 153f, 153f, 0.80f));
上の任意のアイデアをこれを整数にする方法は?ありがとう。
ああ、ありがとう。それは今ソートされました。私は自分のフォントのためにSlickを使用しています。私は今度はColorをjava.awt.Colorに切り替えました。 – Kaikz