Java设置Image透明度
时间: 2023-06-19 15:10:33 浏览: 106
你可以使用 `java.awt.AlphaComposite` 类来设置图像的透明度。以下是一个简单的示例代码:
```java
import java.awt.AlphaComposite;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;
public class ImageTransparency {
public static void main(String[] args) throws Exception {
File input = new File("input.png");
BufferedImage image = ImageIO.read(input);
// 创建一个新的 BufferedImage 对象,宽度和高度与原始图像相同
BufferedImage output = new BufferedImage(image.getWidth(), image.getHeight(), BufferedImage.TYPE_INT_ARGB);
// 获取 Graphics2D 对象,用于绘制图像
Graphics2D g2d = output.createGraphics();
// 设置 AlphaComposite,将透明度设置为 0.5f(50%)
AlphaComposite alpha = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.5f);
g2d.setComposite(alpha);
// 在新的 BufferedImage 对象上绘制原始图像
g2d.drawImage(image, 0, 0, null);
g2d.dispose();
// 将新的 BufferedImage 对象保存为 PNG 文件
File outputfile = new File("output.png");
ImageIO.write(output, "png", outputfile);
}
}
```
在上面的示例中,我们从文件中读取一个图像,然后创建一个新的 `BufferedImage` 对象,并将其宽度和高度设置为与原始图像相同。接下来,我们获取 `Graphics2D` 对象并设置 `AlphaComposite`,将透明度设置为 0.5f(50%)。然后,我们在新的 `BufferedImage` 对象上绘制原始图像,并将新的图像保存为 PNG 文件。
你可以根据需要调整透明度值。
阅读全文