`
bnmnba
  • 浏览: 288877 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

通过RGB颜色得到十六进制的颜色值

 
阅读更多

没有验证越界。代码如下:

 

 

 

public class Util {
	/**
	 * 通过RGB颜色得到十六进制的颜色
	 * @param r 0-255
	 * @param g 0-255
	 * @param b 0-255
	 * @return 255,0,253返回FF00FD
	 */
	public static String getColorInHexFromRGB(int r,int g,int b){
		return vali(getHexNum(r))+vali(getHexNum(g))+vali(getHexNum(b));
	}
	private static String vali(String s){
		if (s.length()<2) {
			s="0"+s;
		}
		return s;
	}
	private static String getHexNum(int num){
		int result=num/16;
		int mod=num%16;
		StringBuilder s=new StringBuilder();
		hexHelp(result, mod, s);
		return s.toString();
	}
	private static void hexHelp(int result,int mod,StringBuilder s){
		char[] H={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
		if (result>0) {
			hexHelp(result/16, result%16, s);
		}
		s.append(H[mod]);
	}
	public static void main(String [] a){
		System.out.println(getColorInHexFromRGB(255,254,253));
		System.out.println(getColorInHexFromRGB(255,0,253));
	}
}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics