如何在调整BufferedImages java之后删除黑色背景

时间:2016-05-26 01:26:29

标签: java transparency bufferedimage image-resizing

我写了一个方法来为我调整BufferedImages的大小,但是这样做.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 个答案:

答案 0 :(得分:4)

简单。当您在此处创建新的重新调整大小的BufferedImage时:

BufferedImage outputImg = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);

不要使用BufferedImage.TYPE_INT_RGB,而是使用BufferedImage.TYPE_INT_ARGB"A"代表“alpha”,这为您提供了透明度。有关详情,请参阅BufferedImage API