使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();
}
分享到:
相关推荐
Java处理PNG透明性总结的几种方法,好用Java处理PNG透明性总结的几种方法,好用Java处理PNG透明性总结的几种方法,好用Java处理PNG透明性总结的几种方法,好用Java处理PNG透明性总结的几种方法,好...
PngEncoder.java针对java平台处理png压缩算法
在Java编程语言中,处理PNG图像的透明度是一项常见的任务,尤其在创建用户界面或进行图形设计时。PNG格式支持alpha通道,这使得它能够表示不同程度的透明度,即所谓的“半透明”。以下是一些关于如何在Java中处理PNG...
在Java中,我们可以使用Java Advanced Imaging (JAI) API或者Java标准库中的`javax.imageio.ImageIO`类来处理PNG图像。 首先,了解基本的图像处理概念是非常重要的。图像通常由像素数组表示,每个像素包含颜色信息...
在Java编程环境中,将Excel表格转换为PNG图片是一项常见的需求,尤其在数据可视化或报告生成时。本篇文章将深入探讨如何使用Java实现这一功能,主要涉及Apache POI库的运用和其他相关技术。 Apache POI是一个强大的...
这次我们要探讨的是如何在Java环境中处理iOS应用(IPA)中的PNG图像文件,并将其解码以便在Windows或其他非iOS平台上正常显示。首先,让我们理解一下问题的背景。 PNG(Portable Network Graphics)是一种无损压缩...
在Java编程中,生成PNG透明...总之,生成PNG透明图片缩略图在Java中涉及到图像处理的基本原理和高级技巧,选择合适的库和算法至关重要。同时,要注意透明度的正确处理和代码的优化,以确保缩略图的质量和程序的性能。
当处理PNG图片时,尤其是透明PNG,需要特别注意保持其透明特性。使用`ColorModel`和`Raster`可以保留Alpha通道(透明度通道)。确保在缩放或处理过程中,透明像素不会被错误地填充为黑色。 4. **创建圆角效果**: ...
Batik是一个开源的Java库,用于处理SVG图像,其中包括了SVG到其他图像格式的转换功能。在提供的文件列表中,batik-all-1.8pre-r1084380.jar包含了Batik的所有组件,包括SVG渲染引擎。通过使用Batik的Transcoder API...
在Java编程语言中,图像处理是一项重要的功能,可以用于创建、编辑或操作图像。本教程将探讨两个关键的图像处理技术:模糊处理和锐化处理。这些技术在图像分析、图像增强以及艺术创作中有着广泛的应用。 模糊处理是...
Java作为一种跨平台的编程语言,具有丰富的图形处理库,可以用来实现PNG图像的编码和解码。 在本项目中,开发者使用Java编写了一个小程序,实现了PNG图像的基本编解码功能。虽然这个小程序可能并不完美,存在一些...
本示例中,我们探讨的是如何使用Java编程语言将PDF文件转换为PNG图片格式。这在很多场景下非常有用,比如网页预览、移动端展示或者进行图像处理等。Java通过库如iText7提供了这样的功能。 iText7是一个强大的PDF...
png 图片颜色处理,and sun.misc.base64decoder.jar包
Java作为一种广泛使用的编程语言,提供了丰富的库和工具来处理各种图像格式,包括GIF和PNG。本篇文章将详细探讨如何使用Java将GIF动画转换为PNG图片,以便进行后续的编辑和使用。 首先,我们需要了解GIF和PNG两种...
前端图片插件不支持HEIC格式展示,需要在后端对HEIC格式图片进行转换为常用图片格式PNG,JPEG处理。通过网上资料查询及检验。在wiondows操作系统java开发环境中可通过ImageMagick安装包和im4java.jar把其他格式图片...
java核心类库的知识点,包括字符串,网络编程,IO流,异常处理等等。比如StringBuilder,StringBuffer,BufferedOutputSream,BufferedInputStream等
本篇将详细介绍如何使用Java来提取IPA文件中的PNG图像,并探讨相关的编程知识点。 首先,我们需要了解IPA文件的结构。IPA实际上是一个ZIP压缩文件,可以使用标准的Zip库来解压。在Java中,我们可以使用`java.util....
总的来说,将EMF转换为PNG的过程涉及到了Java编程、图像处理库的使用以及文件格式的转换。通过`freehep`库,我们可以方便地在Java环境中实现这种转换,为跨平台的应用提供了便利。在实际开发中,你还可以扩展这个...
在Java编程环境中,将多张PNG、JPG等格式的静态图片转换为动态GIF图像是一项常见的需求。这个过程涉及到图像处理和动画制作的技术。在本文中,我们将深入探讨如何利用Java来实现这一功能,同时关注如何设置各种参数...
在Java 1.4环境下,将PNG图片转换为GIF格式是一项挑战,因为早期的Java版本没有内置直接支持这两种格式转换的功能。在这种情况下,开发者通常需要深入研究JDK的源码,尤其是从更高版本(如Java 1.7)中获取灵感,来...