概述
本文实例为大家分享了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实现图片反色处理示例的全部内容,希望文章能够帮你解决java实现图片反色处理示例所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复