■■■

2016年4月3日日曜日

PictureBoxの画像を半透明にする方法

PictureBoxの画像を半透明にする方法
VB.NET
Dim canvas As New Bitmap(PictureBox1.Width, PictureBox1.Height)

Dim g As Graphics = Graphics.FromImage(canvas)

Dim img As Image = Image.FromFile("C:\サンプル.jpg")

Dim cm As New System.Drawing.Imaging.ColorMatrix()
cm.Matrix00 = 1
cm.Matrix11 = 1
cm.Matrix22 = 1
cm.Matrix33 = 0.5F
cm.Matrix44 = 1

Dim ia As New System.Drawing.Imaging.ImageAttributes()
ia.SetColorMatrix(cm)

g.DrawImage(img, New Rectangle(0, 0, img.Width, img.Height), _
0, 0, img.Width, img.Height, GraphicsUnit.Pixel, ia)

img.Dispose()
g.Dispose()
PictureBox1.Image = canvas
C#
Bitmap canvas = new Bitmap(PictureBox1.Width, PictureBox1.Height);
Graphics g = Graphics.FromImage(canvas);

Image img = Image.FromFile(@"C:\サンプル.jpg");

System.Drawing.Imaging.ColorMatrix cm =
new System.Drawing.Imaging.ColorMatrix();
cm.Matrix00 = 1;
cm.Matrix11 = 1;
cm.Matrix22 = 1;
cm.Matrix33 = 0.5F;
cm.Matrix44 = 1;

System.Drawing.Imaging.ImageAttributes ia =
new System.Drawing.Imaging.ImageAttributes();

ia.SetColorMatrix(cm);
g.DrawImage(img, new Rectangle(0, 0, img.Width, img.Height),
0, 0, img.Width, img.Height, GraphicsUnit.Pixel, ia);

img.Dispose();
g.Dispose();

PictureBox1.Image = canvas;

■■■