java 색상 Color 대상과 16진수 사이의 변환

1233 단어
package com.tsxs.test;

import java.awt.Color;

public class TestColor {
	public static void main(String[] args) {
		System.out.println(toHexFromColor(Color.BLUE));
		System.out.println(toColorFromString(toHexFromColor(Color.BLUE)));
	}
	/**
	 * Color 
	 * @param color Color 
	 * @return 16 
	 * */
	private static String toHexFromColor(Color color){
		String r,g,b;
		StringBuilder su = new StringBuilder();
		r = Integer.toHexString(color.getRed());
		g = Integer.toHexString(color.getGreen());
		b = Integer.toHexString(color.getBlue());
		r = r.length() == 1 ? "0" + r : r;
		g = g.length() ==1 ? "0" +g : g;
		b = b.length() == 1 ? "0" + b : b;
		r = r.toUpperCase();
		g = g.toUpperCase();
		b = b.toUpperCase();
		su.append("0xFF");
		su.append(r);
		su.append(g);
		su.append(b);
		//0xFF0000FF
		return su.toString();
	}
	/**
	 *  Color 
	 * @param colorStr 16 
	 * @return Color 
	 * */
	public static Color toColorFromString(String colorStr){
		colorStr = colorStr.substring(4);
		Color color =  new Color(Integer.parseInt(colorStr, 16)) ;
		//java.awt.Color[r=0,g=0,b=255]
		return color;
	}
}

결과 출력:
0xFF0000FF java.awt.Color[r=0,g=0,b=255]

좋은 웹페이지 즐겨찾기