.net column

.NET開発者のためのブログメディア

C#でのPictureBoxの透過方法を紹介!透過して重ねよう

2020年08月25日

SE
画面の背景部分を透明視したいのですが、どうすればいいのか悩んでいます。

PM
なるほど。ではPictureBoxでの透過の方法について見ていきましょう。

C#でのPictureBoxの透過について

今回は、C#でのPictureBoxの透過について説明します。

透過とは、画像の特定色を透明にすることです。C#でのPictureBoxの透過に興味のある方はぜひご覧ください。

PictureBoxの表示

透過の前に、通常のPictureBoxを表示してみます。事前に、表示用の画像を「C:\test\test.gif」に格納しておいてください。

実際のソースコードを見てみましょう。

実行すると、PictureBoxに画像が表示されます。この画像の特定色を透過にする方法について、以降で説明します。

PictureBoxの透過

C#では、PictureBoxに表示する画像について、特定色を透過にできます。

BitmapクラスのMakeTransparent メソッドを使用します。事前に、表示用の画像を「C:\test\test.gif」に格納しておいてください。

実際のソースコードを見てみましょう。

実行すると、画像の背景色が透過になっていることが分かります。MakeTransparentメソッドの引数を指定しないと、Bitmap画像の左上(0,0)のpixelを透過色とします。

bitmap.MakeTransparent();は以下のように書き換えられます。

このように、C#ではPictureBoxに表示する画像について、特定色を透過にできます。

透過したPictureBoxを重ねる

C#では、透過したPictureBoxは重ねられます。

事前に、表示用の画像を「C:\test\test1.gif」・「C:\test\test2.gif」に格納しておいてください。test1.gifの上にtest2.gifを重ねます。

実際のソースコードを見てみましょう。

pictureBox2の親コントロールをpictureBox1にしています。また、pictureBox2.BackColorを透過にすることで、透過したPictureBoxを重ねています。

このように、C#では透過したPictureBoxは重ねられます。

PictureBox上のコントロール背景の透過

PictureBox上にLabelなどを配置すると、既定の背景色で表示されます。C#では、この背景色を透過にできます。

事前に、表示用の画像を「C:\test\test.gif」に格納しておいてください。

実際のソースコードを見てみましょう。

実行すると、PictureBoxの上にLabelの文字だけが表示されていることが分かります。

このように、C#ではBackColorプロパティを透過にすることで、PictureBox上のコントロールの背景を透過にできます。

SE
背景色を指定できるのですね。

PM
その前に表示したい画像を格納しておくことを忘れないでくださいね。

C#のソースコードを書いて理解を深めよう

いかがでしたでしょうか。C#でのPictureBoxの透過について説明しました。

MakeTransparentメソッドで、PictureBoxを透過できます。また、透過したPictureBoxは重ねられます。

ぜひご自身でC#のソースコードを書いて、理解を深めてください


.NET分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

求人一覧

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)