Sometimes we need to draw objects on top of images- and these objects may need
to be transparent. As we discussed earlier, color in GDI+ has four components:
alpha, red, green, and blue. The value of each component varies from 0 to 255.
The alpha component represents the transparency in GDI+ color. Zero represents a
fully transparent color; 255, a fully opaque color.
An application must create transparent pens and brushed to draw transparent
graphics objects. An application can use the Color.FromArgb method to specify
the ratio of all four components in a color. For example, the following code
snipped creates a fully opaque green pen and brush.
private void
Form1_Paint(object sender,
PaintEventArgs e)
{
Graphics g = e.Graphics;
//Create an image from a file
Image curImage =
Image.FromFile ("C:/Documents
and Settings/Manu/Desktop/16864z.Bmp");
//Draw image
g.DrawImage(curImage, 0, 0, curImage.Width, curImage.Height);
//Create pens with different opacity
Pen opqPen =
new Pen(Color.FromArgb(255,
0, 255, 0), 10);
Pen TransPen =
new Pen(Color.FromArgb(128,
0, 255, 0), 10);
Pen totTransPen =
new Pen(Color.FromArgb(40,
0, 255, 0), 10);
//Draw Graphics object using transparent
pens
g.DrawLine(opqPen, 10, 10, 200, 10);
g.DrawLine(TransPen, 10, 30, 200, 30);
g.DrawLine(totTransPen, 10, 50, 200, 50);
SolidBrush semiTransBrush = new
SolidBrush(Color.FromArgb(60,
0, 255, 0));
g.FillRectangle(semiTransBrush, 20, 100, 200, 100);
}