BufferedImage产生黑色输出

时间:2014-11-25 03:13:56

标签: java image swing user-interface

BufferedImage由于某种原因在我写缩放图像时会产生黑色输出,但Image会正确缩放。我假设这里有一些绘画组件的问题。谢谢!

1 个答案:

答案 0 :(得分:3)

BufferedImage newImage = new BufferedImage(400, 400, BufferedImage.TYPE_INT_RGB);

如果在其上放置透明的PNG或GIF,透明部分将变为黑色。它应该是:

BufferedImage newImage = new BufferedImage(400, 400, BufferedImage.TYPE_INT_ARGB);

但是,我建议:

  • 如果原始图像为JPEG
  • ,则仅保存为JPEG
  • 未使用ImageIcon加载Image,而是使用ImageIO加载BufferedImage
  • 使用缓冲的图片getType()作为参数,而不是BufferedImage.TYPE_..
  • 避免getScaledInstance(..) like the plague,但如果使用它,请指定Image.SCALE_SMOOTH