.Net(VB、C#)での画像の透過について(PictureBox利用)
指定した色を透明色として画像を表示する方法。(スプライト描画)
画像情報の入ったBitmapオブジェクトのMakeTransparentメソッドを使って指定した色を透明色にしてから、そのBitmapオブジェクトを表示する。
以下の例では、画像「logo.png」の背景色を透明にしてから、ピクチャボックス(PictureBox1)に表示している。
1 2 3 4 5 6 7 8 9 10 11 12 13 | Public Class Form1 Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load '表示するビットマップイメージを取得 Dim bmp As New Bitmap(".\logo.png") 'ビットマップイメージで透過する色を指定(背景部分の色を取得) bmp.MakeTransparent(bmp.GetPixel(0, 0)) 'PictureBoxの背景色を設定 PictureBox1.BackColor = Color.Blue 'PictureBoxにビットマップイメージを設定 PictureBox1.Image = bmp End Sub End Class |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace CSTest003 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { //表示するビットマップイメージを取得 Bitmap bmp = new Bitmap(".\\logo.png"); //ビットマップイメージで透過する色を指定(背景部分の色を取得) bmp.MakeTransparent(bmp.GetPixel(0, 0)); //PictureBoxの背景色を設定 PictureBox1.BackColor = Color.Blue; //PictureBoxにビットマップイメージを設定 PictureBox1.Image = bmp; } } } |