码迷,mamicode.com
首页 > 编程语言 > 详细

java将白色背景图片转换成无色

时间:2015-11-25 19:06:26      阅读:350      评论:0      收藏:0      [点我收藏+]

标签:

package com.cxf.dao;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;

import javax.imageio.ImageIO;
import javax.swing.ImageIcon;


public class Alpha {
    public static void main(String[] args) {
        transferAlpha();
    }

public static byte[] transferAlpha() {

   ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
   File file = new File("E:/07.png");
   InputStream is;
   try {
    is = new FileInputStream(file);
    BufferedImage bi=ImageIO.read(is);
    Image image=(Image)bi;
    ImageIcon imageIcon = new ImageIcon(image);
    BufferedImage bufferedImage = new BufferedImage(imageIcon
      .getIconWidth(), imageIcon.getIconHeight(),
      BufferedImage.TYPE_4BYTE_ABGR);
    Graphics2D g2D = (Graphics2D) bufferedImage.getGraphics();
    g2D.drawImage(imageIcon.getImage(), 0, 0, imageIcon
      .getImageObserver());
    int alpha = 0;
    for (int j1 = bufferedImage.getMinY(); j1 < bufferedImage
      .getHeight(); j1++) {
     for (int j2 = bufferedImage.getMinX(); j2 < bufferedImage
       .getWidth(); j2++) {
      int rgb = bufferedImage.getRGB(j2, j1);
    
      int R =(rgb & 0xff0000 ) >> 16 ;
      int G= (rgb & 0xff00 ) >> 8 ;
      int B= (rgb & 0xff );
      if(((255-R)<30) && ((255-G)<30) && ((255-B)<30)){
       rgb = ((alpha + 1) << 24) | (rgb & 0x00ffffff);
      }

      bufferedImage.setRGB(j2, j1, rgb);

     }
    }

    g2D.drawImage(bufferedImage, 0, 0, imageIcon.getImageObserver());
    ImageIO.write(bufferedImage, "png", new File("e:/67.png"));//直接输出文件

   // ImageIO.write(bufferedImage, "png", byteArrayOutputStream);//转换成byte数组
   } catch (Exception e) {
       e.printStackTrace();
   }finally{
   
   }
   return byteArrayOutputStream.toByteArray();
}
}

 

java将白色背景图片转换成无色

标签:

原文地址:http://www.cnblogs.com/zrui-xyu/p/4995508.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!