2012-04-19 6 views
0

私は背景画像を持っています。私は背景画像の上に画像ボックスを重ねたい。この重ね合わせる画像は、角が丸い四角形です。どのようにして真の.pngアルファトランスパラシズムの画像ボックスをC#

正方形は.pngファイルです。フォームに表示されているときは、フォームと同じ背景の四角形が表示されます。

背景色を透明に設定すると、フォームの背景に見えますが、下の画像を表示するにはどうすればよいですか?

四角形も背景イメージ上を移動し、移動しながら透明性を保つ必要があります。

私はこれが非常に未解決な問題だと知っていますが、本当に助けになります。

おかげ

+0

一般的な考え方は、ユーザーコントロールを行い、OnPaintメソッドをオーバーライドし、Graphicsを使用して必要なものだけを描画することでした。誰かがそのためにしたプロジェクトですhttp://www.codeproject.com/Articles/26878/Making-Transparent-Controls-with-C-and-NET-3-5 – SimpleVar

答えて

0

私は、ピクチャボックスを使用して望む結果が不可能であるという疑惑を疑います。あなたがすでに認識しているように、ピクチャボックスは「真の」透明性ではありません。透明性がある場所にある親の色を文字通り塗りつぶします。 GDI +を使用してページ全体を移動するものの真の透過的なルックアンドフィールを得るためには、Yoyeがコメントで述べたようにOnPaintメソッドでカスタムペインティングを実行し、CreateGraphics()を使用してフォームのGraphicsオブジェクトを使用してビットマップ/関数。

0

フォーム自体はまだ透明になるような状況をahieveしようとしている場合、それはあなたが単にTransparencyKeyプロパティを使用する必要があります背景画像であるかのように形が見えるように、背景画像を提示しています。

関連する問題