3

次のように、それぞれが透明な画像を持つ3つのpictureBoxがあります。

ここに画像の説明を入力

画像 2 と画像 3 を画像 1 に対して透明にするために、次のコードを書きました。

    pictureBox2.Parent = pictureBox1;
    pictureBox3.Parent = pictureBox1;

さて、私の問題: どうすれば画像 2 を画像 3 に対して透明にできますか?

4

1 に答える 1

4

これがどれだけうまく機能するかには制限があります。画像をネストし始めると、その制限を超えています。次に、PictureBox がその親に対してのみ透明であることがわかります。他の PB がピクセルに寄与する合成画像の部分は表示されません。代わりに、親の背景が表示されます。

単一の PictureBox に切り替えて、コードを記述する必要があります。Paint イベント ハンドラーを実装し、e.Graphics.DrawImage() を呼び出して画像を描画します。レイヤリングはもはや問題ではなく、ペイントは背景に対して常に透明です。また、WPF が透過性を実装する方法。

于 2013-07-08T11:47:30.647 に答える