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

今天老师想让我帮忙把她们200多张寸照换成白底的,这些寸照里面多为蓝色底,红色底。

用ps?不!用java!!

对,我第一反应就是用java,到网上找到了一个获得图片像素的源码。动手改了下,就编出来了,200多张照片的处理就用了半分钟。

/**
 * 功能:
 * 将蓝底寸照批量转换为白底
 * 主要是可以几百张,几千张地处理
 * @author 赵俊夫
 *
 */
public class ImageColorDemo { 

 public static void main(String args[]) throws IOException {
  /**
   * 要处理的图片目录
   */
  File dir = new File("d:/d4");
  /**
   * 列出目录中的图片,得到数组
   */
  File[] files = dir.listFiles();
  /**
   * 遍历数组
   */
  for(int x=0;x<files.length;x++){
   /**
    * 定义一个RGB的数组,因为图片的RGB模式是由三个 0-255来表示的 比如白色就是(255,255,255)
    */
   int[] rgb = new int[3];
   /**
    * 用来处理图片的缓冲流
    */
   BufferedImage bi = null;
   try {
    /**
     * 用ImageIO将图片读入到缓冲中
     */
    bi = ImageIO.read(files[x]);
   } catch (Exception e) {
    e.printStackTrace();
   }
   /**
    * 得到图片的长宽
    */
   int width = bi.getWidth();
   int height = bi.getHeight();
   int minx = bi.getMinX();
   int miny = bi.getMinY();
   System.out.println("正在处理:"+files[x].getName());
   /**
    * 这里是遍历图片的像素,因为要处理图片的背色,所以要把指定像素上的颜色换成目标颜色
    * 这里 是一个二层循环,遍历长和宽上的每个像素
    */
   for (int i = minx; i < width; i++) {
    for (int j = miny; j < height; j++) {
     // System.out.print(bi.getRGB(jw, ih));
     /**
      * 得到指定像素(i,j)上的RGB值,
      */
     int pixel = bi.getRGB(i, j);
     /**
      * 分别进行位操作得到 r g b上的值
      */
     rgb[0] = (pixel & 0xff0000) >> 16;
     rgb[1] = (pixel & 0xff00) >> 8;
     rgb[2] = (pixel & 0xff);
     /**
      * 进行换色操作,我这里是要把蓝底换成白底,那么就判断图片中rgb值是否在蓝色范围的像素
      */
     if(rgb[0]<155&&rgb[0]>0 && rgb[1]<256&&rgb[1]>105 && rgb[2]<256&&rgb[2]>105 ){
      /**
       * 这里是判断通过,则把该像素换成白色
       */
      bi.setRGB(i, j, 0xffffff);
     } 

    }
   }
   System.out.println("\t处理完毕:"+files[x].getName());
   System.out.println();
   /**
    * 将缓冲对象保存到新文件中
    */
   FileOutputStream ops = new FileOutputStream(new File("d:/d5/"+x+".jpg"));
   ImageIO.write(bi,"jpg", ops);
   ops.flush();
   ops.close();
   }
 } 

} 

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

您可能感兴趣的文章:

  • java如何去除图片中的白色背景
  • java创建以任意图片为背景的窗口
  • Java Swing实现窗体添加背景图片的2种方法详解
  • JAVA Frame 窗体背景图片,首位相接滚动代码实例
  • JAVA GUI自定义JPanel画板背景
  • 利用java实现二维码和背景图的合并
  • 解决java压缩图片透明背景变黑色的问题
(0)

相关推荐

  • 利用java实现二维码和背景图的合并

    背景介绍: 最近我们这边需要做一个自动生成二维码并且还要将二维码嵌入现有的背景模板中,一直又没写过这些方面的东西,突然写还真是有点迷糊,特别是对于java图片API并不很熟悉,所以参考了很多网友的分享,很快做出来了,现在分享一下 注意: 关于二维码的生成方式在文章java生成带logo的多彩二维码已经写过了,大家可以合起来一起使用. 实例代码: BufferedImage image= bim;//二维码 BufferedImage bg= ImageIO.read(路径);//获取北京图片 G

  • JAVA Frame 窗体背景图片,首位相接滚动代码实例

    背景图片连续滚动,程序已经跑过.前提!背景图片宽度比窗体长些,代码如下: import Java.awt.Graphics; import java.awt.Image; import javax.swing.ImageIcon; import mine.game.util.PropertiesUtil; @SuppressWarnings("serial") public class GameFrame extends MyFrame{ private Image img=Image

  • 解决java压缩图片透明背景变黑色的问题

    复制代码 代码如下: public class Picture {          // TODO Auto-generated constructor stub       public static void resizePNG(String fromFile, String toFile, int outputWidth, int outputHeight,boolean proportion) {              try {                 File f2 =

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

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

  • Java Swing实现窗体添加背景图片的2种方法详解

    本文实例讲述了Java Swing实现窗体添加背景图片的2种方法.分享给大家供大家参考,具体如下: 在美化程序时,常常需要在窗体上添加背景图片.通过搜索和测试,发现了2种有效方式.下面分别介绍. 1. 利用JLabel加载图片 利用JLabel自带的setIcon(Icon icon)加载icon,并设置JLabel对象的位置和大小使其完全覆盖窗体.这是一个很取巧的办法,代码非常简单,如下所示. JLabel lbBg = new JLabel(imageIcon); lbBg.setBound

  • JAVA GUI自定义JPanel画板背景

    自定义JPanel面板背景 一.前言 1.GUI全称是Graphical User Interface,就是图形用户界面.JAVA的GUI应用广泛在我们生活中也很常见.很多应用使用该GUI编程设计,像点击QQ图标弹出对应的登录窗体. 一般程序与用户的交互都基于对应程序的运行界面. 2.JPanel面板是SWING下的一个面板容器类.该面板支持嵌套,可设置布局方式,设置不同的布局管理器可添加其他控件像JButton按钮,JTextField文本框等.来设计完善一个程序界面窗体. 作为绘制面板支持s

  • java创建以任意图片为背景的窗口

    swing自带的窗体是不能够满足我们的应用需求的,所以需要制作任意图片和形状的JFrame框体,比如下图: 并且可以设置窗体背景图片的透明度 下面说明如何做到上图的效果: (1)首先你得需要一张好看的图片,比如羊皮纸.但是这个下载的图片是方方正正的矩形,羊皮纸的形状在图片的内部,所以我们用美图秀秀或者PS中的抠图功能将羊皮纸抠出来,如下: (2)将图片保存为透明背景即可. (3)接着写一个myJFrame继承JFrame,代码如下: import com.sun.awt.AWTUtilities

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

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

  • JS实现在页面随时自定义背景颜色的方法

    本文实例讲述了JS实现在页面随时自定义背景颜色的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <HTML> <HEAD> <TITLE>JS实现在页面随时自定义背景颜色</TITLE> <SCRIPT LANGUAGE="JavaScript"> <!-- Begin //以下代码将输入框及其所在的层写进窗口. document.writeln('<div align="cente

  • JS实现点击颜色块切换指定区域背景颜色的方法

    本文实例讲述了JS实现点击颜色块切换指定区域背景颜色的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <html> <head> <title>JS实现点击颜色块切换指定区域的背景颜色</title> </head> <body> <div align="center"> <table bgcolor=#F8F8F8 border="0" width=&q

  • JS修改iframe页面背景颜色的方法

    本文实例讲述了JS修改iframe页面背景颜色的方法.分享给大家供大家参考.具体如下: 下面的代码演示了如何在网页里通过JS代码修改嵌入的iframe的网页背景颜色 <!DOCTYPE html> <html> <head> <script> function changeStyle() { var x=document.getElementById("myframe"); var y=(x.contentWindow || x.cont

  • JavaScript动态修改背景颜色的方法

    本文实例讲述了JavaScript动态修改背景颜色的方法.分享给大家供大家参考.具体如下: <html> <head> <title>Background Color Changer</title> <script language = JavaScript> <!-- function BG_yellow() { document.bgColor = 0xFFFF00 } function BG_thistle() { document.

  • js随机生成网页背景颜色的方法

    本文实例讲述了js随机生成网页背景颜色的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <HTML> <HEAD> <TITLE>随机生成网页背景颜色的JS特效</TITLE> <STYLE> .30pt{font-size:30pt;color:#de3076} </STYLE> <SCRIPT LANGUAGE="JavaScript"> <!-- color=new A

  • php读取flash文件高宽帧数背景颜色的方法

    本文实例讲述了php读取flash文件高宽帧数背景颜色的方法.分享给大家供大家参考. 具体实现方法如下: 复制代码 代码如下: <?php /* 示例:   $file = '/data/ad_files/5/5.swf';   $flash = new flash();   $flash = $flash->getswfinfo($file);   echo " 文件的宽高是:".$flash["width"].":".$info[

  • C#实现更改MDI窗体背景颜色的方法

    本文实例讲述了C#实现更改MDI窗体背景颜色的方法.分享给大家供大家参考.具体实现方法如下: /// <summary> /// 设置MDI背景 /// </summary> void RemoveMdiBackColor() { foreach (Control c in this.Controls) { if (c is MdiClient) { c.BackColor = this.BackColor; //颜色 c.BackgroundImage = this.Backgr

  • python通过pil为png图片填充上背景颜色的方法

    本文实例讲述了python通过pil为png图片填充上背景颜色的方法.分享给大家供大家参考.具体分析如下: png图片有些是没有背景颜色,如果希望以单色(比如白色)填充背景,可以使用下面的代码,这段代码将当前目录下的 jb51.net.png图片填充了白色背景. 使用指定的颜色的背景色即可,然后把该图片用alpha通道填充到该单色背景上.  比如下面使用白色背景: im = Image.open('jb51.net.png') x,y = im.size try: # 使用白色来填充背景 fro

  • JS实现鼠标滑过链接改变网页背景颜色的方法

    本文实例讲述了JS实现鼠标滑过链接改变网页背景颜色的方法.分享给大家供大家参考,具体如下: 这个小特效很不错,用链接改变网页背景色,鼠标放上链接文字上,网页背景就会跟着变换,想让你的主页更个性一点的朋友,这个代码一定能用上,其实你可在此基础上修改一下代码,改成鼠标放上文字切换样式表,这样整个网页就变了风格,是不是很实用? 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-mouse-over-link-cha-bgcolor-demo/ 具体

随机推荐