java实现图片反色处理示例

本文实例为大家分享了java实现图片反色处理的具体代码,供大家参考,具体内容如下

效果对比

原图

反色处理

原图

反色处理

核心代码实现

import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.*;

public class ImageColor {

    /**
     * @Description: 反色
     * @param  imgPath 图片路径
     * @param  fileUrl 输出图片路径
     * @throws
     */
    public static void inverse(String imgPath, String fileUrl){
        try {
            FileInputStream fileInputStream = new FileInputStream(imgPath);
            BufferedImage image = ImageIO.read(fileInputStream);
            //生成字符图片
            int w = image.getWidth();
            int h = image.getHeight();
            BufferedImage imageBuffer = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);;
            // 绘制字符
            for (int y = 0; y < h; y++) {
                for (int x = 0; x< w; x++) {
                    int rgb = image.getRGB(x, y);
                    int R = (rgb & 0xff0000) >> 16;
                    int G = (rgb & 0x00ff00) >> 8;
                    int B = rgb & 0x0000ff;
                    int newPixel=colorToRGB(255-R,255-G,255-B);
                    imageBuffer.setRGB(x,y,newPixel);
                }
            }
            ImageIO.write(imageBuffer, "png", new File(fileUrl)); //输出图片
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    /**
     * @Description: 颜色转rgb值
     * @throws
     */
    public static int colorToRGB(int red,int green,int blue){
        int newPixel=0;
        newPixel=newPixel << 8;
        newPixel+=red;
        newPixel=newPixel << 8;
        newPixel+=green;
        newPixel=newPixel << 8;
        newPixel+=blue;
        return  newPixel;

    }

    public static void main(String[] args) throws IOException {
        inverse("C:\\Users\\liuya\\Desktop\\laoying.png","C:\\Users\\liuya\\Desktop\\logo_0.png");
    }
}

补充知识

三基色是光的红,绿,蓝

0xff0000  为RGB十六位制的红色

0x00ff00  为RGB十六位制的绿色

0x0000ff  为RGB十六位制的蓝色

运行主方法即可。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • java如何去除图片中的白色背景

    最近在做一个需求是从数据库里面取出图片,但是图片都有一个白色的背景,于是项目组希望可以将图片的白色的背景去掉. 本文为大家分享了java去除图片中的白色背景的方法,供大家参考,具体内容如下 如图所示: 当然在这个上面是看不出来的,其实第一张图片是有一个白色的背景的,但是第二张图片没有,相信你理解我说的,那么这个代码我应该如何实现: package com.wdg.util; import java.awt.Graphics2D; import java.awt.Image; import jav

  • java图片色阶调整和亮度调整代码示例

    对Java图片处理的内容涉猎不深,言辞简陋望请见谅. java实现色阶调整,即调整图片rgb分量,进而也可以调节图片亮度. 测试代码 public static void main(String[] args) { //文件与BufferedImage间的转换 BufferedImage bi=file2img("test.jpg"); //读取图片 BufferedImage bii=img_color_gradation(bi,100,0,0); img2file(bii,&quo

  • java处理图片背景颜色的方法

    今天老师想让我帮忙把她们200多张寸照换成白底的,这些寸照里面多为蓝色底,红色底. 用ps?不!用java!! 对,我第一反应就是用java,到网上找到了一个获得图片像素的源码.动手改了下,就编出来了,200多张照片的处理就用了半分钟. /** * 功能: * 将蓝底寸照批量转换为白底 * 主要是可以几百张,几千张地处理 * @author 赵俊夫 * */ public class ImageColorDemo { public static void main(String args[])

  • java实现图片反色处理示例

    本文实例为大家分享了java实现图片反色处理的具体代码,供大家参考,具体内容如下 效果对比 原图 反色处理 原图 反色处理 核心代码实现 import javax.imageio.ImageIO; import java.awt.image.BufferedImage; import java.io.*; public class ImageColor { /** * @Description: 反色 * @param imgPath 图片路径 * @param fileUrl 输出图片路径 *

  • Java实现图片裁剪功能的示例详解

    目录 前言 Maven依赖 代码 验证一下 前言 本文提供将图片按照自定义尺寸进行裁剪的Java工具类,一如既往的实用主义. Maven依赖 <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>30.1.1-jre</version> </dependency> <dependen

  • 前端使用svg图片改色实现示例

    目录 引言 svg填充色用的fill css改色利用过滤器filter 最后顺便介绍下filter: drop-shadow() 引言 周六来公司写点东西,刚好有个icon颜色不对,ui又不在公司,那么就只能自己动手丰衣足食了. 呜呜呜,好想住公司,都不用上下班了. svg填充色用的fill 当ui给你了svg图片,且是单色的,又只有你用 svg填充色用的fill,修改里面的颜色即可. 下面是例子: 首先,ui一般会直接给你svg图片,比如这样的: ,用idea或者笔记本打开里面是这样的: <?

  • java裁剪图片并保存的示例分享

    我们将通过以下步骤来学习: 输入图像,指定要处理的图像路径允许用户拖放要剪裁的部分选择后使用 Robot 类来确定剪裁部分的坐标剪裁所选图像并保持接下来我们开始编码部分. Listing1: 引入的类 复制代码 代码如下: import java.awt.Graphics;  import java.awt.Rectangle;  import java.awt.Robot;  import java.awt.event.MouseEvent;  import java.awt.event.Mo

  • PHP实现对图片的反色处理功能【测试可用】

    本文实例讲述了PHP实现对图片的反色处理功能.分享给大家供大家参考,具体如下: 今天有个需求用php对图片进行反色,和转灰,之前不知道可不可行,后来看到了imagefilter()函数,用来转灰绰绰有余,好强大: imagefilter($im, IMG_FILTER_GRAYSCALE) 当然也有人在css里面设置变灰 <style type="text/css"> img { -webkit-filter: grayscale(1);/* Webkit */ filte

  • Java实现图片转换PDF文件的示例代码

    最近因为一些事情,需要将一张简单的图片转换为PDF的文件格式,在网上找了一些工具,但是这些工具不是需要注册账号,就是需要下载软件. 而对于只是转换一张图片的情况下,这些操作显然是非常繁琐的,所以作者就直接使用Java写了一个图片转换PDF的系统,现在将该系统分享在这里. 引入依赖 <!--该项目以SpringBoot为基础搭建--> <parent> <groupId>org.springframework.boot</groupId> <artifa

  • java 压缩图片(只缩小体积,不更改图片尺寸)的示例

    1.情景展示 在调用腾讯身份证OCR接口的时候,由于要求图片大小只能限制在1MB以内,这样,就必须使用到图片压缩技术 2.代码展示 /**  * 图片处理工具类  * @explain  * @author Marydon  * @creationTime 2019年9月3日上午10:14:17  * @version 1.0  * @since  * @email marydon20170307@163.com  */ public class ImgUtils {     /**      

  • Java 压缩图片并打包成ZIP文件的示例

    JAVA 获取网络图片或本地图片压缩后打成ZIP,但是获取网络流存在问题:每次获取图片流的大小不一样(图片不完整),以致无法构建图片进行压缩? /*  释以下代码:即可获取完整图片流网络不稳定情况且网络流是顺序读取,所以获得前部份流,不需要关闭连接,只需要将用完的流关闭即可  */   finally{       if(httpCon != null)       httpCon.disconnect();   }   package com.sunshine.monitor.comm.uti

  • Java实现图片合成的示例详解

    目录 场景 环境 搭建 引入pom文件 定义核心接口ImageService 定义核心接口实现类ImageServiceImpl 测试ImageController 测试效果 总结 场景 前端有一个神器——canvas,这个画布标签可以处理各种图片的合成,可以精确到图片的具体坐标,加水印,去水印,简直不要太简单!那java后端可以处理吗?请大声的告诉他,能,必须能!今天小编告诉你一个神器——image-combiner,合成图片so easy! 环境 jdk1.8 spring boot 搭建

  • java将图片分割为几个部分示例

    以下代码使用java将图片分割为几个部分,大家参考使用吧 复制代码 代码如下: public class SegmentationImage{ public static Icon Segmentation(String imagename,int Width,int Height,int height,int width) throws Exception{  // 准备分割图片 BufferedImage img1=ImageIO.read(new File(imagename));   

随机推荐