可以啊; 你只需要了解颜色的基本原理,代码很容易就写出来了;屏幕显示的颜色就RGB三种颜色加上透明度构成的;
平和ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18980820575(备注:SSL证书合作)期待与您的合作!
#FF0000 红色
#00FF00绿色
#0000FF蓝色
#0000FFCC蓝色+透明度
java参考代码如下
import java.awt.Color;
public class ColorDemo {
public static void main(String[] args) {
// java.awt.Color类 或者使用自定义的颜色类, 只要包含r,g,b,a四个属性就可以了
Color c1 = new Color(50, 0, 210, 204);
System.out.println(awtColorToWeb(c1));
}
public static String awtColorToWeb(Color c1) {
StringBuilder builder = new StringBuilder();
//builder.append("0x");//16进制的标识
builder.append("#");//web16进制颜色开头的字符
builder.append(getString(c1.getRed()));//红色转16进制
builder.append(getString(c1.getGreen()));//绿色转16进制
builder.append(getString(c1.getBlue()));//蓝色转16进制
builder.append(getString(c1.getAlpha()));//透明度转16进制
return builder.toString();
}
public static String getString(int value){
String str=Integer.toHexString(value);//把单色转成16进制
return str.length()==1?"0"+str:str;
//用2个16进制的数字个字符来表示;所以长度不足就补0
//比如 "6"--"06"
}
}
如果你使用javafx的Color类, 那会让你觉得很简便 . 因为Color toString() 打印出来就是16进制的颜色.
javafx里颜色参考如下
import javafx.scene.paint.Color;
public class ColorDemo {
public static void main(String[] args) {
//使用的javafx的Color
Color c1 = Color.rgb(50, 0, 210, 0.8);
System.out.println(c1);//直接就是输出16进制的颜色
Color c2=Color.valueOf("#3200d2cc");//web颜色轻松转16进制
System.out.println(c2);
//web颜色 #AABBCCDD--可简写成--ABCD
Color c3=Color.valueOf("567c");//web颜色简写也支持
System.out.println(c3);
}
}
拓展了解: JavaFX是现代化的图形界面框架, 支持动画, 多媒体,3D ,WebView 甚至支持HTML5,事件绑定进制 配合lambda表达式, 代码简洁功能强大;
代码如下:
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.util.HashMap;
import java.util.Map;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JTextField;
public class App extends JFrame {
private JComboBoxString cbxColors;
private JTextField txtName;
private MapString, Color colorMap;
public App() {
this.setSize(300, 100);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLayout(new FlowLayout());
colorMap = new HashMap();
colorMap.put("红", Color.RED);
colorMap.put("绿", Color.GREEN);
colorMap.put("蓝", Color.BLUE);
colorMap.put("黄", Color.YELLOW);
cbxColors = new JComboBox(colorMap.keySet().toArray());
cbxColors.setPreferredSize(new Dimension(50, 23));
cbxColors.addItemListener(e - {
Color color = colorMap.get(e.getItem());
txtName.setBackground(color);
});
this.add(cbxColors);
txtName = new JTextField();
txtName.setPreferredSize(new Dimension(100, 23));
txtName.setBackground(Color.RED);
this.add(txtName);
}
public static void main(String[] args) {
new App().setVisible(true);
}
}
运行结果:
1、首先进入javaAPP。
2、其次选择金褐中颜色代码。
3、最后选择想要添加的位置进行添加即可。
系统自带计算器就可以完成这个转换,选择科学型的计算机,可以在2,8,10,16进制中互相转换
如果是程序就更简单了,读入数值后,直接按16进制输出就可以了
构造方法有:
Color(int rgb):用指定的组合 RGB 值创建一种不透明的 sRGB 颜色,此 sRGB 值的 16-23 位表示红色分量,8-15 位表示绿色分量,0-7 位表示蓝色分量。
Color(int r, int g, int b)
用指定的红色、绿色和蓝色值创建一种不透明的 sRGB 颜色,这三个颜色值都在 0-255 的范围内。
Color(int r, int g, int b, int a)
用指定的红色、绿色、蓝色和 alpha 值创建一种 sRGB 颜色,这些值都在 0-255 的范围内。
Color(float r, float g, float b, float a)
用指定的红色、绿色、蓝色和 alpha 值创建一种 sRGB 颜色,这些值都在 0.0 - 1.0 的范围内。
Color(float r, float g, float b)
用指定的红色、绿色和蓝色值创建一种不透明的 sRGB 颜色,这三个颜色值都在 0.0 - 1.0 的范围内。
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.Color;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class RGB extends JFrame implements ActionListener{
JTextField t1,t2,t3;
JLabel b1,b2,b3;
JButton jb;
JPanel jp;
public RGB(){
super("RGB");
jp=new JPanel();
b1=new JLabel("R");
b2=new JLabel("G");
b3=new JLabel("B");
t1=new JTextField(3);
t2=new JTextField(3);
t3=new JTextField(3);
jb=new JButton("确定");
jb.addActionListener(this);
jp.add(b1);
jp.add(t1);
jp.add(b2);
jp.add(t2);
jp.add(b3);
jp.add(t3);
jp.add(jb);
jp.setLayout(new FlowLayout());
add(jp,BorderLayout.CENTER);
setSize(200,200);
setResizable(false);
setDefaultCloseOperation(this.DISPOSE_ON_CLOSE);
setVisible(true);
}
public void actionPerformed(ActionEvent e){
if(e.getSource().getClass().getSimpleName().equals("JButton")){
int r=Integer.parseInt(t1.getText());
int g=Integer.parseInt(t2.getText());
int b=Integer.parseInt(t3.getText());
if(r=0 r=255 g=0 g=255 b=0 b=255){
Color c=new Color(r,g,b);
jp.setBackground(c);
}else{
System.out.println("请输入(0-255)的整数!");
}
}
}
public static void main(String[] args) {
new RGB();
}
}
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款