日期:2014-05-20  浏览次数:21151 次

JAVA识别PNG透明图片
现在有这么一个情况:
   我有很多PNG小图片,它们都是256*256的,其中有些PNG是全透明的,也就是没有任何图像,看上去是黑色的。
问题来了:
   我想用JAVA来实现把那些全为透明的“空”图片全部找出来,请问各位,应该如何识别呢?
Java 图片

------解决方案--------------------


import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;

public class Test {
public static void main(String[] args) throws IOException {
BufferedImage bi = (BufferedImage) ImageIO.read(new File("E:\\2.png"));
// 获取图像的宽度和高度
int width = bi.getWidth();
int height = bi.getHeight();
boolean isTransparent = true;
// 扫描图片
for (int i = 0; i < height; i++) {
for (int j = 0; j < width; j++) {// 行扫描
int dip = bi.getRGB(j, i);
if (dip != -1){
isTransparent = false;
}
}
}
if(isTransparent){
System.out.println("透明图片");
}else{
System.out.println("不透明图片");
}
}

}

不知道你说的透明是什么意思!
我理解是空白图片,没有任何内容的!
你可以试试这段代码
------解决方案--------------------
透明和空白还是有区别的吧。。
------解决方案--------------------
只会设置透明,不会查找
mark帮顶
------解决方案--------------------
空白或者全黑的图片的所有像素灰度的均值为一个固定值