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)

相关推荐

  • java-RGB调色面板的实现(事件监听器之匿名内部类)

    题目要求: 要求写一个案例,使用三个JSlider分别选取R.G.B三原色的值,用户可以通过活动JSlider的滑块来动态的合成一种颜色,合成的颜色显示在界面上. 代码思路解析: 1.所需要的组件 (1)JFrame窗口  (2)JLabel的RGB标签文字组件  (3)JTextField颜色变动的数值  (4)JSlider颜色交换的滑块组件  (5)JTextArea颜色显示区域 2.构造方法中将JFrame.JSlider.JTextField.JTextArea组件全部实例化 3.另写

  • 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 {

  • 基于OpenCv与JVM实现加载保存图像功能(JAVA 图像处理)

    目录 加载图片 保存图片 加载图片 openCv有一个名imread的简单函数,用于从文件中读取图像 imread 函数位于Imgcodecs类的同名包中. 加载图片代码 import org.opencv.core.CvType; import org.opencv.core.Mat; import org.opencv.core.Core; import org.opencv.imgcodecs.Imgcodecs; import origami.Origami; public class

  • Java图像处理之获取用户感兴趣的区域

    目录 需求背景 概念解释 ROI openCV 掩膜mask 代码实现 效果如下 工具类 需求背景 获取ROI图片:现在有一张图片,用户能够在坐标上选择一些点组成一个区域,这个区域称为用户感兴趣的区域,需要利用mask掩膜生成,需要生成mask图片.ROI图片,要求使用OpenCV+Java实现. 概念解释 ROI ROI: region of interest 感兴趣的区域 openCV OpenCV(Open Source Computer Vision Library)是一个开源的计算机视

  • Java图像处理教程之正片叠底效果的实现

    前言 本文主要给大家介绍了关于利用Java如何实现正片叠底效果的方法,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 正片叠底,在Photoshop中是一种混合模式,简单的说就是可以让2个图层的内容融合起来. PS中最佳展示用例 融合的计算公式其实非常简单,就是 A*B/255.(A.B是指的图层A和图层B) 再解释一下就是: A图层中的红色通道和B图层中的红色通道所对应的每一个像素的灰阶值相乘,再被255除.得到一个新的红色通道. 蓝色与绿色通道的操作也是一样的. 实现方法

  • Java图像处理工具类

    本工具类的功能:缩放图像.切割图像.图像类型转换.彩色转黑白.文字水印.图片水印等 复制代码 代码如下: package net.kitbox.util; import java.awt.AlphaComposite; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Image; import java.awt.Re

  • java图像处理之倒角距离变换

    图像处理中的倒角距离变换(Chamfer Distance Transform)在对象匹配识别中经常用到,算法基本上是基于3x3的窗口来生成每个像素的距离值,分为两步完成距离变换,第一步从左上角开始,从左向右.从上到下移动窗口扫描每个像素,检测在中心像素x的周围0.1.2.3四个像素,保存最小距离与位置作为结果,图示如下: 第二步从底向上.从右向左,对每个像素,检测相邻像素4.5.6.7保存最小距离与位置作为结果,如图示所: 完成这两步以后,得到的结果输出即为倒角距离变换的结果.完整的图像倒角距

  • JAVA布局管理器与面板组合代码实例

    JPanel是面板组件,非顶层容器,一个界面只有可以有一个JFrame窗体组件,但可以有多个Jpanel面板,而JPanel上也可以使用FlowLayout,BorderLayout,GirdLayout等布局管理器,这样可以组合使用达到比较复杂的布局效果. 注意事项 Ⅰ.JPanel是JComponent的子类 Ⅱ.属于容器组件,可以加入别的组件 Ⅲ.默认布局管理器是流式布局(FlowLayout) /* * 作者:白客C * 时间:2020年03月05日 * 内容:gui窗体 * 步骤: *

  • Java获取彩色图像中的主色彩的实例代码

    本文讲述了Java获取彩色图像中的主色彩的实例代码.分享给大家供大家参考,具体如下: 一:基本思路 对于一张RGB色彩空间的彩色图像,很多时间我们想通过程序获得该图像有几种主要的色彩,但是对一般图像来说,在色彩交界处都是通过像素混合来实现自然过渡,所以直接扫描图像的像素值,得到的不同颜色值可能多达上百中,而实际上图像可能只有3-4种的主要色彩,如何去掉那些混合颜色,准确提取出来这3-4中的主色彩,根据一般图像的特征,图像在不同色彩的边界处混合不同的颜色值,此可以视为图像的边缘特性之一,因此可以根

  • Java实现的计算最大下标距离算法示例

    本文实例讲述了Java实现的计算最大下标距离算法.分享给大家供大家参考,具体如下: 题目描述 给定一个整形数组,找出最大下标距离j−i, 当且A[i] < A[j] 和 i < j 解法 复杂度:三次扫描,每次的复杂度O(N) 算法:{5,3,4,0,1,4,1} 找出从第一个元素开始的下降序列{5,3,0} i=3,j=6, j从尾部扫描 初始化,i=3, j=6, A[i]=0 实现代码 public static int maxindexdistance(int A[]) { boole

随机推荐