【问题标题】:How to remove black background after resizing BufferedImages java如何在调整BufferedImage java的大小后删除黑色背景
【发布时间】:2016-05-26 01:26:28
【问题描述】:

我为我编写了一个调整 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;
}

如何修复该方法以使图像保持透明度?

【问题讨论】:

    标签: java transparency bufferedimage image-resizing


    【解决方案1】:

    简单。当您在这里创建新的调整大小的 BufferedImage 时:

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

    不要使用BufferedImage.TYPE_INT_RGB,而是使用BufferedImage.TYPE_INT_ARGB"A" 代表“alpha”,这为您提供了透明度。有关这方面的更多信息,请参阅BufferedImage API

    【讨论】:

    • 如此简单但又如此不可能修复,除非您知道自己在寻找什么。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2014-06-03
    • 2012-07-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-23
    • 1970-01-01
    • 1970-01-01
    • 2010-11-25
    相关资源
    最近更新 更多