3

次のような透明なピクセルを持つ BufferedImage を作成するときに問題が発生しているようです。

BufferedImage buff = new BufferedImage(i.getWidth(null), i.getHeight(null), BufferedImage.TYPE_INT_ARGB);

RescaleOp でフィルタリングして暗くするまでは問題なく動作します。これを行うと、画像が消えます。これが私の完全なコードです。これをどのように設定しているかを確認できます。

    BufferedImage buff = new BufferedImage(i.getWidth(null), i.getHeight(null), BufferedImage.TYPE_INT_ARGB);
    Graphics2D g = buff.createGraphics();
    g.drawImage(i, 0, 0, null);
    g.dispose();
    RescaleOp filter = new RescaleOp(lightlevel, 0f, null);
    buff = filter.filter(buff, null);

私の質問は、バッファリングされた画像のピクセルが透明度に影響を与えずに暗くなるようにするにはどうすればよいですか?

4

1 に答える 1

2

ここに示されているalphaRescaleOpを処理する を試して、すべての色コンポーネントに同じものを使用できます。lightLevel

于 2012-03-08T05:11:42.010 に答える