`

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图像的透明度是一项常见的任务,尤其在创建用户界面或进行图形设计时。PNG格式支持alpha通道,这使得它能够表示不同程度的透明度,即所谓的“半透明”。以下是一些关于如何在Java中处理PNG...

    Java压缩PNG图像文件.rar

    在Java中,我们可以使用Java Advanced Imaging (JAI) API或者Java标准库中的`javax.imageio.ImageIO`类来处理PNG图像。 首先,了解基本的图像处理概念是非常重要的。图像通常由像素数组表示,每个像素包含颜色信息...

    java excel中表格导成png图片

    在Java编程环境中,将Excel表格转换为PNG图片是一项常见的需求,尤其在数据可视化或报告生成时。本篇文章将深入探讨如何使用Java实现这一功能,主要涉及Apache POI库的运用和其他相关技术。 Apache POI是一个强大的...

    Java提取IPA中的png文件, 并进行解码还原png图片

    这次我们要探讨的是如何在Java环境中处理iOS应用(IPA)中的PNG图像文件,并将其解码以便在Windows或其他非iOS平台上正常显示。首先,让我们理解一下问题的背景。 PNG(Portable Network Graphics)是一种无损压缩...

    javapng透明图片缩略

    在Java编程中,生成PNG透明...总之,生成PNG透明图片缩略图在Java中涉及到图像处理的基本原理和高级技巧,选择合适的库和算法至关重要。同时,要注意透明度的正确处理和代码的优化,以确保缩略图的质量和程序的性能。

    java对图片改变大小,png防止变黑,加圆角 圆角外透明

    当处理PNG图片时,尤其是透明PNG,需要特别注意保持其透明特性。使用`ColorModel`和`Raster`可以保留Alpha通道(透明度通道)。确保在缩放或处理过程中,透明像素不会被错误地填充为黑色。 4. **创建圆角效果**: ...

    JAVA WMF 转换SVG,PNG

    Batik是一个开源的Java库,用于处理SVG图像,其中包括了SVG到其他图像格式的转换功能。在提供的文件列表中,batik-all-1.8pre-r1084380.jar包含了Batik的所有组件,包括SVG渲染引擎。通过使用Batik的Transcoder API...

    java 图像处理(模糊处理、锐化处理)

    在Java编程语言中,图像处理是一项重要的功能,可以用于创建、编辑或操作图像。本教程将探讨两个关键的图像处理技术:模糊处理和锐化处理。这些技术在图像分析、图像增强以及艺术创作中有着广泛的应用。 模糊处理是...

    用java写的PNG编码与解码小程序

    Java作为一种跨平台的编程语言,具有丰富的图形处理库,可以用来实现PNG图像的编码和解码。 在本项目中,开发者使用Java编写了一个小程序,实现了PNG图像的基本编解码功能。虽然这个小程序可能并不完美,存在一些...

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

    本示例中,我们探讨的是如何使用Java编程语言将PDF文件转换为PNG图片格式。这在很多场景下非常有用,比如网页预览、移动端展示或者进行图像处理等。Java通过库如iText7提供了这样的功能。 iText7是一个强大的PDF...

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

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

    java gif动画转png

    Java作为一种广泛使用的编程语言,提供了丰富的库和工具来处理各种图像格式,包括GIF和PNG。本篇文章将详细探讨如何使用Java将GIF动画转换为PNG图片,以便进行后续的编辑和使用。 首先,我们需要了解GIF和PNG两种...

    Java实现HEIC格式图片转换

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

    Java核心类库.png

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

    Java提取IPA中的png文件 源码

    本篇将详细介绍如何使用Java来提取IPA文件中的PNG图像,并探讨相关的编程知识点。 首先,我们需要了解IPA文件的结构。IPA实际上是一个ZIP压缩文件,可以使用标准的Zip库来解压。在Java中,我们可以使用`java.util....

    将EMF图片格式转换成PNG

    总的来说,将EMF转换为PNG的过程涉及到了Java编程、图像处理库的使用以及文件格式的转换。通过`freehep`库,我们可以方便地在Java环境中实现这种转换,为跨平台的应用提供了便利。在实际开发中,你还可以扩展这个...

    java实现多张png,jpg等各种图片文件转动态gif图

    在Java编程环境中,将多张PNG、JPG等格式的静态图片转换为动态GIF图像是一项常见的需求。这个过程涉及到图像处理和动画制作的技术。在本文中,我们将深入探讨如何利用Java来实现这一功能,同时关注如何设置各种参数...

    在java 1.4环境下把图片从png转换为gif格式

    在Java 1.4环境下,将PNG图片转换为GIF格式是一项挑战,因为早期的Java版本没有内置直接支持这两种格式转换的功能。在这种情况下,开发者通常需要深入研究JDK的源码,尤其是从更高版本(如Java 1.7)中获取灵感,来...

Global site tag (gtag.js) - Google Analytics