透明度如何在调整缓冲区大小后删除黑色背景java
我写了一个方法来调整BuffereImage的大小,但是在这样做之后。png图像最终失去了透明度,取而代之的是黑色背景
public BufferedImage getSizedImg(BufferedImage otherImage,int width,int height){
BufferedImage outputImg = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
Graphics g = outputImg.createGraphics();
g.drawImage(otherImage, 0, 0, width, height, null);
g.dispose();
return outputImg;
}
我如何修正方法,使图像保持透明
# 1 楼答案
简单。在此处创建新的重新调整大小的BuffereImage时:
不要使用
BufferedImage.TYPE_INT_RGB
,而是使用BufferedImage.TYPE_INT_ARGB
。"A"
代表“alpha”,这给了你透明度。有关这方面的更多信息,请参阅BufferedImage API