`

java处理png

阅读更多
使png图片背景透明的方法:
首先png图片背景设置为白色或者纯黑色 总之就是图片中用不到的颜色区间
然后使用java的bufferedImage将图片根据点阵读出,并将图片的每一个点的rgb区出来判断是否在将要被设置为透明的区间内
如果在该区间内 将该点的颜色移为如xxxxxx--〉00xxxxxx 这样透明度的位置就可以设置为0 这样该点的颜色就是透明的了
public static byte[] test(Image image) {
		ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
		try {
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(...){//r,g,b都在透明区间中
rgb = (alpha << 24) | (rgb & 0x00ffffff);
		}
		bufferedImage.setRGB(j2, j1, rgb);
	}
}
g2D.drawImage(bufferedImage, 0, 0, imageIcon.getImageObserver());
ImageIO.write(bufferedImage, "png", byteArrayOutputStream);
} catch (Exception e) {
	e.printStackTrace();
}
  return byteArrayOutputStream.toByteArray();
}
public static void main(String[] args) throws IOException {
		File inputFile = new File("c:/bbb.png");
		BufferedImage input = ImageIO.read(inputFile);
		byte[] byte1=test(input);
		FileOutputStream out=new FileOutputStream("e:/aaa.png");
		out.write(byte1);
		out.close();
	}
0
2
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    Java处理PNG透明性总结的几种方法,好用

    Java处理PNG透明性总结的几种方法,好用Java处理PNG透明性总结的几种方法,好用Java处理PNG透明性总结的几种方法,好用Java处理PNG透明性总结的几种方法,好用Java处理PNG透明性总结的几种方法,好...

    PngEncoder.java针对java平台处理png压缩算法

    PngEncoder.java针对java平台处理png压缩算法

    java+png透明图片处理方法

    实现java处理图片透明,png图片透明

    Java实现HEIC格式图片转换

    前端图片插件不支持HEIC格式展示,需要在后端对HEIC格式图片进行转换为常用图片格式PNG,JPEG处理。通过网上资料查询及检验。在wiondows操作系统java开发环境中可通过ImageMagick安装包和im4java.jar把其他格式图片...

    java png图片颜色处理,sun.misc.base64decoder.jar

    png 图片颜色处理,and sun.misc.base64decoder.jar包

    Java核心类库.png

    java核心类库的知识点,包括字符串,网络编程,IO流,异常处理等等。比如StringBuilder,StringBuffer,BufferedOutputSream,BufferedInputStream等

    java将PDF文件转成png图片格式

    java使用了itext7将PDF文件转成png图片格式,里面有demo可以直接运行,希望给需要的朋友带来帮助,谢谢支持!

    java gif动画转png

    如何将gif动画的多帧合成一个png图片并保存起来,方便从网上下的gif动画处理后给美工用

    png图片转jpg

    使用java处理的png图片转jpg,已封装为exe,内含jre,可直接运行

    java处理tiff格式图片,转为其他类型

    处理tiff格式,将它转为其他类型的图片

    java图形图象处理.rar

    图像加载与保存:Java可以加载各种常见格式的图像文件(如JPEG、PNG、GIF等),并能将处理后的图像保存为相同或不同格式的文件。 图像编辑:Java提供了丰富的API和工具,可以对图像进行编辑,包括绘制图形、添加文字...

    java完整性校验解决方案

    JAVA中进行数据完整性验证 最近在看JAVA安全方面的东东。简单地说,安全包括访问控制、数据安全两部分。安全访问控制是根据系统需求进行设计的,对资源进行访问控制的一种措施。而数据安全包括数据传输过程中的安全...

    Java实现pdf格式图片转换

    场景运用:在前端图片格式上传中,需要在后端对pdf格式图片进行转换为常用图片格式PNG,JPEG处理。通过网上资料查询及检验。在wiondows操作系统java开发环境中可通过ImageMagick安装包和im4java.jar把其他格式图片如...

    java数据流总结

    java数据流总结,java io流总结,节点流和处理流 java数据流总结,java io流总结,节点流和处理流 java数据流总结,java io流总结,节点流和处理流

    java源码包---java 源码 大量 实例

     Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象,得到Graphics实例,得到Image实例,填充颜色数组数据,初始化颜色数组。...

    pngtastic:一个纯Java PNG图像优化和处理库

    Pngtastic用于处理PNG图像的纯Java API Pngtastic是Java的PNG。 只是一个没有依赖性的小罐子。 它不依赖AWT,因此可以在限制性条件下使用,例如Google App Engine(可能是Android,但尚未尝试)。当前支持的操作是:...

    Java2D之图像处理

    实现Java2D之字体编程: 1、Java2D显示jpeg、gif、png等格式图像。 2、图像缩放、模糊、锐化、边缘检测的处理; 3、使用java.awt.image 包,设计一个有趣的图像处理演示程序;

    JAVA上百实例源码以及开源项目

     Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象,得到Graphics实例,得到Image实例,填充颜色数组数据,初始化颜色数组。...

    JAVA上百实例源码以及开源项目源代码

     Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象,得到Graphics实例,得到Image实例,填充颜色数组数据,初始化颜色数组。...

Global site tag (gtag.js) - Google Analytics