问题: 16进制颜色怎么转换为rgba,怎么获取16进制颜色值rgba的值|web前端开发|在线助手,您的在线生成制作工具箱!
问题关键字: 16进制颜色怎么转换为rgba,怎么获取16进制rgba,怎么获取颜色值alpha,颜色值转rgba,web前端开发,在线助手,在线工具,在线助手博客!
问题详细描述: 16进制颜色怎么转换为rgba,怎么获取16进制rgba,怎么获取颜色值alpha,颜色值转rgba,在线助手以及在线助手博客专注于提供在线生成、在线制作等在线工具,以及web前端开发、html、javascript、thymeleaf、view、vue.js、vue等常见问题的解决方案!
二三九九
16进制颜色怎么转换为rgba,怎么获取16进制颜色值rgba的值
在线助手博客首页
###Hello world!
####16进制颜色值转换为RGB的方法如下 ```java String hexColor = "#B94629"; String strR = hexColor.substring(1,3); String strG = hexColor.substring(3,5); String strB = hexColor.substring(5,7); int red = Integer.parseInt(strR,16); int green = Integer.parseInt(strG,16); int blue = Integer.parseInt(strB,16); System.out.println(red+"="+green+"="+blue); ``` ####输出结果是 185=70=41 ####打开ps校验一下,#B94629的结果确实是185,70,41  ####16进制颜色值怎么转换为RGB原理 实际上就是把6位16进制表示的颜色值每2位拆分,分别代表R,G,B,然后将16进制转为10进制即可。 ####下面是封装后16进制颜色值转换为RGB的方法 ```java /** * 16进制转rgb * 在线助手 https://www.it399.com * @param hexColor * @return */ public static int[] hex2rgb(String hexColor) { if (hexColor==null || "".equals(hexColor)){ return null; } if (!hexColor.startsWith("#")){ hexColor = "#"+hexColor; } int[] result = new int[3]; String strR = hexColor.substring(1,3); String strG = hexColor.substring(3,5); String strB = hexColor.substring(5,7); int red = Integer.parseInt(strR,16); int green = Integer.parseInt(strG,16); int blue = Integer.parseInt(strB,16); result[0] =red; result[1] =green; result[2] =blue; return result; } ``` 或者象下面这种写法 ```java /** * 16进制字符串转rgb * 在线助手 https://www.it399.com * @param colorStr "#FFFFFF" * @return */ public static Color hex2Rgb(String colorStr) { return new Color( Integer.valueOf( colorStr.substring( 1, 3 ), 16 ), Integer.valueOf( colorStr.substring( 3, 5 ), 16 ), Integer.valueOf( colorStr.substring( 5, 7 ), 16 ) ); } ``` ####如果还要获取A也就是RGBA 那么传入的字符串就要包含A,就是**RGB是#FFFFFF6位数,RGBA还要加二位,#FFFFFF6XX是8位数**,如果没有A值吗,那么默认获取到的A是255,下面是创建Color的源码 ```java public Color(int r, int g, int b) { this(r, g, b, 255); } ``` ```java @ConstructorProperties({"red", "green", "blue", "alpha"}) public Color(int r, int g, int b, int a) { value = ((a & 0xFF) << 24) | ((r & 0xFF) << 16) | ((g & 0xFF) << 8) | ((b & 0xFF) << 0); testColorValueRange(r,g,b,a); } ``` ####16进制颜色值转换为RGBA的方法如下 ```java String hexColor = "#B94629B9"; String strR = hexColor.substring(1,3); String strG = hexColor.substring(3,5); String strB = hexColor.substring(5,7); String strA = hexColor.substring(7,9); int red = Integer.parseInt(strR,16); int green = Integer.parseInt(strG,16); int blue = Integer.parseInt(strB,16); int alpha = Integer.parseInt(strA,16); System.out.println("r:"+red+",g:"+green+",b:"+blue+",a:"+alpha); ``` ```java r:185,g:70,b:41,a:,185 ```
返回顶部
下载Android客户端
Copyright © 2017-2018 . All Rights Reserved.
粤ICP备18008506号