Java图像处理之RGB调色面板
本文实例为大家分享了Java图像处理之RGB调色面板的具体代码,供大家参考,具体内容如下
一、概述
因为我们知道颜色是由R、G、B、三种颜色所组成的,那么我们只需要更改这三个的数值。我们就可以实现一个简单的调色面板;以下是代码演示:
二、代码
import javax.swing.*; import java.awt.*; import java.awt.event.ActionListener; import java.awt.event.*; public class RgbJpanel { int r,g,b; JFrame jf = new JFrame("RGB调色面板"); // 一个用于设置RGB调色,一个用于显示背景颜色 JPanel jp_1 = new JPanel(); JPanel jp_2 = new JPanel(); JLabel jl_1 = new JLabel("R值"); JLabel jl_2 = new JLabel("G值"); JLabel jl_3 = new JLabel("B值"); JTextField jtf_1 = new JTextField(); JTextField jtf_2 = new JTextField(); JTextField jtf_3 = new JTextField(); JButton jb = new JButton("确定"); public RgbJpanel(){ button(); // 使用自定义布局管理器 jp_1.setLayout(null); jf.setLayout(null); // 设置固定位置 jf.setBounds(200,200,500,600); jp_1.setBounds(0,0,200,600); // 设置字体位置 jl_1.setBounds(50,30,50,30); jl_2.setBounds(50,180,50,30); jl_3.setBounds(50,330,50,30); // 设置字体大小 jl_1.setFont(new Font("黑体",Font.BOLD,20)); jl_2.setFont(new Font("黑体",Font.BOLD,20)); jl_3.setFont(new Font("黑体",Font.BOLD,20)); jtf_1.setBounds(50,70,50,50); jtf_2.setBounds(50,220,50,50); jtf_3.setBounds(50,370,50,50); jb.setBounds(50,440,80,40); jp_2.setBounds(300,200,150,150); jp_1.setBackground(new Color(150,150,150)); jp_1.add(jl_1); jp_1.add(jl_2); jp_1.add(jl_3); jp_1.add(jtf_1); jp_1.add(jtf_2); jp_1.add(jtf_3); jp_1.add(jb); jf.add(jp_1); jf.add(jp_2); jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); jf.setVisible(true); } // 按钮 public void button(){ // jb按钮,监听事件 jb.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e){ r = Integer.parseInt(jtf_1.getText()); g = Integer.parseInt(jtf_2.getText()); b = Integer.parseInt(jtf_3.getText()); // 这里进行取余运算,是为了防止输入的数过于大,而产生运行上的错误; r = r%256; g = g%256; g = g%256; // System.out.println("r = "+r +" ,g = "+g +" ,b = "+b); // 清空Text中的内容 jtf_1.setText(""); jtf_2.setText(""); jtf_3.setText(""); // 一定要在这里设置改变颜色才可以,不然没有反应 jp_2.setBackground(new Color(r,g,b)); } }); } public static void main(String[] args) { new RgbJpanel(); } }
三、结果演示
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
赞 (0)