2

TV 信号の上に transparent.png 画像を描画しようとしています (したがって、レンダリング前のブレンドはちょっと面倒です)。

透明な四角形を描いているときは、 SrcOver を設定して背景色のアルファを指定するだけで機能します。

((DVBGraphics) g).setDVBComposite(DVBAlphaComposite.SrcOver);

しかし今、私は実際に透明度が設定されたpngを使用しようとしていますが、それは機能しません(ただ固体です)。

XOR モードを設定した場合:

g.setXORMode(Color.white);

SrcOver を設定すると、指定したドットだけでなく、画像全体が半透明になります。また、「透明」に設定されたパーツは引き続き表示されます。

これを機能させる魔法の呼び出しセットを教えてもらえますか?

(また、swing は使用できません。Java 1.4 のほとんどのみです)。

4

1 に答える 1

0

すべてを再確認することをお勧めします。以前にAWTを使用してPNG画像をペイントしましたが、明らかにうまくいきました:

private final Image                     image;                                  //

protected void paintForeground(Graphics2D gc, int wid, int hgt) {
    ...
    gc.drawImage(image,dx,dy,(dx+width),(dy+height),0,0,width,height,null);
    ...
    }

これは、J2ME 1.1 プラットフォームを除いて、尊重されたイメージの透明度でペイントします。

描画モードは XOR ではなく通常のペイントです。

于 2009-02-17T05:56:25.667 に答える