java实现图片反色处理代码示例
Posted 洛阳泰山
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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十六位制的蓝色
运行主方法即可。
以上是关于java实现图片反色处理代码示例的主要内容,如果未能解决你的问题,请参考以下文章
LockSupport.java 中的 FIFO 互斥代码片段
[js高手之路] html5 canvas系列教程 - 像素操作(反色,黑白,亮度,复古,蒙版,透明)
Intel Realsense D435 C/C++调用code examples(附代码)(坑坑坑坑坑!!!)(opencv显示图片反色解决)
Intel Realsense D435 C/C++调用code examples(附代码)(坑坑坑坑坑!!!)(opencv显示图片反色解决)