package com.picture; import java.awt.Graphics2D; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.util.regex.Pattern; import javax.imageio.ImageIO; import javax.swing.ImageIcon; import javax.swing.JOptionPane; public class Picture { public static void convert(String path) { // TODO Auto-generated constructor stub try { BufferedImage image = ImageIO.read(new File(path)); 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); if (colorInRange(rgb)) alpha = 0; else alpha = 255; rgb = (alpha << 24) | (rgb & 0x00ffffff); bufferedImage.setRGB(j2, j1, rgb); } } g2D.drawImage(bufferedImage, 0, 0, imageIcon.getImageObserver()); // 生成图片为PNG String outFile = path.substring(0, path.lastIndexOf(".")); ImageIO.write(bufferedImage, "png", new File(outFile + ".png")); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static int color_range = 210; public static boolean colorInRange(int color) { int red = (color & 0xff0000) >> 16; int green = (color & 0x00ff00) >> 8; int blue = (color & 0x0000ff); if (red >= color_range && green >= color_range && blue >= color_range) return true; return false; } }
相关推荐
java后台生成背景色透明验证码的方法,可直接调用。本方法只生成随机字符数字组成的四位验证码。
JAVA处理图片 加文字水印以及灰色透明背景,处理图片。
以下是一些关于如何在Java中处理PNG图片透明度的关键知识点: 1. **Java图像库**: Java标准库提供了`java.awt`和`javax.imageio`包,用于读取、写入和操作图像。例如,`BufferedImage`类是处理图像的主要类,它支持...
Java GUI 背景图片添加方法 在 Java 中添加背景图片到 GUI 界面是一项常见的需求。通过使用 Java 的图形用户界面(GUI)组件,例如 JFrame、JPanel、JLabel 等,可以轻松地将背景图片添加到 GUI 界面中。本文将详细...
java版 图片透明设置功能代码,运行正常,是图片处理的方便工具类
本篇文章将深入探讨如何在Java中实现这些功能,特别是针对PNG格式的图片,因为PNG格式支持透明度,但在处理过程中可能会出现背景变黑的问题。 首先,我们需要引入Java的`java.awt`和`javax.imageio`包,它们提供了...
在Java编程语言中,实现图片的半透明特效主要涉及到图像处理和GUI(图形用户界面)的知识。Java提供了丰富的API来支持这些...记住,实践是检验真理的唯一标准,多尝试,多调试,你将能掌握更多关于Java图片处理的技巧。
本示例探讨了如何将多张图片重叠在一起,包括处理透明度,特别是PNG等支持透明度的图像格式。这是一个关键的图像处理技术,因为可以创建复杂的视觉效果或者进行图像合成。 首先,我们需要引入Java的`javax.imageio`...
在Java编程语言中,处理半透明图片涉及到对图像颜色深度的理解以及如何利用Java的图形库进行操作。这个实例代码很可能是展示如何创建或修改图片,使其具有不同程度的透明度,通常通过调整Alpha通道来实现。Alpha通道...
Java Swing并不直接支持完全透明的按钮,但是我们可以通过设置按钮的背景色为`Color.TRANSLUCENT`来实现部分透明效果。 ```java JButton button = new JButton(); button.setBackground(new Color(0, 0, 0, 0)); //...
在实际应用中,你可能会需要更复杂的操作,比如读取现有的图片并添加透明层,或者将多个图像合并成一张带有透明背景的图片。这些都可以通过`Graphics2D`的绘图方法实现。 在给出的标签"源码"和"工具"中,我们可以...
本文将深入探讨如何解决Java压缩图片时透明背景变黑色的问题。 首先,我们需要理解Java中的图像处理涉及到的主要类,如`BufferedImage`和`Graphics2D`。`BufferedImage`是一个内存中的图像对象,可以用来创建、读取...
本篇文章将深入探讨如何在Android中实现Activity的背景透明。 首先,我们从AndroidManifest.xml文件开始。为了使Activity背景透明,我们需要在对应的Activity标签中添加一个特殊的主题(Theme)。Android系统提供了...
在Java编程语言中,实现半透明图片涉及到对颜色 alpha 通道的理解和操作。...理解并熟练运用这些概念和方法,能够帮助你更灵活地控制Java中的图像显示效果,实现诸如半透明背景、滑动菜单等高级功能。
在Java编程语言中,处理图片水印涉及到图像处理和图形绘制技术。`Graphics2D`是Java 2D API的一部分,它提供了丰富的功能,可以用来在图像上添加文本、图像等元素,实现水印效果。下面我们将深入探讨如何使用`...
本示例主要探讨如何实现不规则图片背景效果,特别是在登录框等界面设计中,这种效果可以增加界面的独特性和视觉吸引力。以下是对实现这一功能的详细讲解。 首先,我们需要理解Swing中的组件和背景设置。`JComponent...
java生成验证码的工具类,这个现在有依赖可以直接引入调用,但这个工具类没有引入依赖,大家也容易看懂代码,理解其含义。也可直接去工具类中调整生成验证码的宽度、高度、颜色、背景颜色、生成的随机数数量、干扰线...
在Java Swing中,我们经常需要为`JFrame`窗口设置背景图片来提升用户体验或实现特定的设计需求。本文将详细介绍如何在`JFrame`中添加背景图片,并通过一个示例程序来具体说明实现过程。 #### 一、基本原理 在Swing...
- **社交媒体**:无论是社交平台的封面、头像或是推广用的图像,通常都需要背景透明。这样一来,用户就可以根据自己的页面或个人背景来定制化自己的社交媒体形象。 - **图形设计**:在设计海报、宣传册或任何平面...
俺自己写的程序,不知道能不能入大家的法眼,想偷懒的可以拿来改改就成,注:是.dat文件,自己改成.java就可以了