getgraphics().drawimage透明
时间: 2023-06-22 19:33:24 浏览: 152
透明背景图像绘制
您可以使用 `Graphics2D` 类的 `setComposite()` 方法来设置透明度,然后再使用 `drawImage()` 方法绘制图像。以下是一个简单的例子:
```
Graphics2D g2d = (Graphics2D) getGraphics();
AlphaComposite alpha = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.5f); // 设置透明度为0.5
g2d.setComposite(alpha);
g2d.drawImage(image, x, y, null); // 绘制图像
```
在这个例子中,`AlphaComposite.getInstance()` 方法中的第二个参数表示透明度,取值范围为0到1,其中0表示完全透明,1表示完全不透明。`SRC_OVER` 表示在绘制新图像时,将它合成到已有图像的上方。
注意,如果您想要绘制的图像本身带有透明度,那么需要在绘制之前将图像转换为带有透明度的格式。您可以使用 `BufferedImage` 类的 `createCompatibleImage()` 方法来创建一个支持透明度的图像,然后使用 `Graphics2D` 类的 `drawImage()` 方法将原始图像绘制到这个新图像上。
阅读全文