提高Java的透明度

时间:2012-01-13 13:08:57

标签: java graphics transparency affinetransform

我正在尝试用Java旋转图像,但是当我这样做时,png中的透明度就会消失。有什么方法可以旋转图像并保持透明度吗?

          AffineTransform trans = new AffineTransform();
          trans.setTransform(identity);
          trans.translate(100, 100);
          trans.rotate( Math.toRadians(45) );

          gr.drawImage(image.getImage(), trans, this);

这使得png中的透明度变黑,但

          gr.drawImage(image.getImage(), 0, 200, null);

透明度没有问题。

1 个答案:

答案 0 :(得分:3)

尝试在Graphics2D对象上设置渲染提示。

gr.setRenderingHint(RenderingHints.KEY_ALPHA_INTERPOLATION, RenderingHints.VALUE_ALPHA_INTERPOLATION_QUALITY );

检查reference以获得最佳设置。