`
脑壳冒星星
  • 浏览: 16270 次
文章分类
社区版块
存档分类
最新评论

java 图片 背景 透明

阅读更多
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处理图片 加文字水印以及灰色透明背景

    JAVA处理图片 加文字水印以及灰色透明背景,处理图片。

    java+png透明图片处理方法

    以下是一些关于如何在Java中处理PNG图片透明度的关键知识点: 1. **Java图像库**: Java标准库提供了`java.awt`和`javax.imageio`包,用于读取、写入和操作图像。例如,`BufferedImage`类是处理图像的主要类,它支持...

    Java程序添加漂亮背景图片的方法

    Java GUI 背景图片添加方法 在 Java 中添加背景图片到 GUI 界面是一项常见的需求。通过使用 Java 的图形用户界面(GUI)组件,例如 JFrame、JPanel、JLabel 等,可以轻松地将背景图片添加到 GUI 界面中。本文将详细...

    java 图片透明设置

    java版 图片透明设置功能代码,运行正常,是图片处理的方便工具类

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

    本篇文章将深入探讨如何在Java中实现这些功能,特别是针对PNG格式的图片,因为PNG格式支持透明度,但在处理过程中可能会出现背景变黑的问题。 首先,我们需要引入Java的`java.awt`和`javax.imageio`包,它们提供了...

    java 图片半透明特效

    在Java编程语言中,实现图片的半透明特效主要涉及到图像处理和GUI(图形用户界面)的知识。Java提供了丰富的API来支持这些...记住,实践是检验真理的唯一标准,多尝试,多调试,你将能掌握更多关于Java图片处理的技巧。

    java多张图片重叠。包括透明图片

    本示例探讨了如何将多张图片重叠在一起,包括处理透明度,特别是PNG等支持透明度的图像格式。这是一个关键的图像处理技术,因为可以创建复杂的视觉效果或者进行图像合成。 首先,我们需要引入Java的`javax.imageio`...

    java 半透明图片 实例代码

    在Java编程语言中,处理半透明图片涉及到对图像颜色深度的理解以及如何利用Java的图形库进行操作。这个实例代码很可能是展示如何创建或修改图片,使其具有不同程度的透明度,通常通过调整Alpha通道来实现。Alpha通道...

    Java 透明按钮 Java透明按钮

    Java Swing并不直接支持完全透明的按钮,但是我们可以通过设置按钮的背景色为`Color.TRANSLUCENT`来实现部分透明效果。 ```java JButton button = new JButton(); button.setBackground(new Color(0, 0, 0, 0)); //...

    java生成透明图片

    在实际应用中,你可能会需要更复杂的操作,比如读取现有的图片并添加透明层,或者将多个图像合并成一张带有透明背景的图片。这些都可以通过`Graphics2D`的绘图方法实现。 在给出的标签"源码"和"工具"中,我们可以...

    解决java压缩图片透明背景变黑色的问题

    本文将深入探讨如何解决Java压缩图片时透明背景变黑色的问题。 首先,我们需要理解Java中的图像处理涉及到的主要类,如`BufferedImage`和`Graphics2D`。`BufferedImage`是一个内存中的图像对象,可以用来创建、读取...

    android Activity 设置背景透明

    本篇文章将深入探讨如何在Android中实现Activity的背景透明。 首先,我们从AndroidManifest.xml文件开始。为了使Activity背景透明,我们需要在对应的Activity标签中添加一个特殊的主题(Theme)。Android系统提供了...

    Java半透明图片实现的步骤及源代码javalearnsa资料分享

    在Java编程语言中,实现半透明图片涉及到对颜色 alpha 通道的理解和操作。...理解并熟练运用这些概念和方法,能够帮助你更灵活地控制Java中的图像显示效果,实现诸如半透明背景、滑动菜单等高级功能。

    java中处理图片水印

    在Java编程语言中,处理图片水印涉及到图像处理和图形绘制技术。`Graphics2D`是Java 2D API的一部分,它提供了丰富的功能,可以用来在图像上添加文本、图像等元素,实现水印效果。下面我们将深入探讨如何使用`...

    JAVA 实现不规则图片背景效果

    本示例主要探讨如何实现不规则图片背景效果,特别是在登录框等界面设计中,这种效果可以增加界面的独特性和视觉吸引力。以下是对实现这一功能的详细讲解。 首先,我们需要理解Swing中的组件和背景设置。`JComponent...

    java生成图片的验证码工具类及其使用

    java生成验证码的工具类,这个现在有依赖可以直接引入调用,但这个工具类没有引入依赖,大家也容易看懂代码,理解其含义。也可直接去工具类中调整生成验证码的宽度、高度、颜色、背景颜色、生成的随机数数量、干扰线...

    Jframe添加背景图片

    在Java Swing中,我们经常需要为`JFrame`窗口设置背景图片来提升用户体验或实现特定的设计需求。本文将详细介绍如何在`JFrame`中添加背景图片,并通过一个示例程序来具体说明实现过程。 #### 一、基本原理 在Swing...

    去底速刷(JPG_BMP转换成透明背景PNG

    - **社交媒体**:无论是社交平台的封面、头像或是推广用的图像,通常都需要背景透明。这样一来,用户就可以根据自己的页面或个人背景来定制化自己的社交媒体形象。 - **图形设计**:在设计海报、宣传册或任何平面...

    去掉png中透明色并替换为另一种颜色的Java程序

    俺自己写的程序,不知道能不能入大家的法眼,想偷懒的可以拿来改改就成,注:是.dat文件,自己改成.java就可以了

Global site tag (gtag.js) - Google Analytics