Bild halbtransparent einer Picturebox zuweisen

Hallo Leute

Ich möchte ein Bild aus einer Datei laden, dieses dann halbtransparent machen und dann der Image-Eigenschaft einer Picturebox zuweisen.

Den Code habe ich soweit zusammen und er läuft auch ohne Fehler. Aber: Das Bild wird einfach nicht angezeigt - am Picutrebox-Control tut sich einfach nichts.

Hier mal der Code

Graphics graph = Graphics.FromImage(new Bitmap(50, 50));
System.Drawing.Imaging.ColorMatrix color = new System.Drawing.Imaging.ColorMatrix();
System.Drawing.Imaging.ImageAttributes imgAttrib = new System.Drawing.Imaging.ImageAttributes();
Rectangle rect = new Rectangle(0, 0, 50, 50);

color.Matrix33 = 0.5f;
imgAttrib.SetColorMatrix(color,
 System.Drawing.Imaging.ColorMatrixFlag.Default,
 System.Drawing.Imaging.ColorAdjustType.Bitmap);


graph.DrawImage(Image.FromFile(@"c:\bild.bmp"), rect, 0, 0, 50, 50, GraphicsUnit.Pixel, imgAttrib);
graph.DrawLine(new Pen(Color.AliceBlue), 0, 0, 20, 40);

Bitmap bitmap = new Bitmap(50, 50, graph);
pictureBox1.Image = bitmap;
pictureBox1.Update();

Sieht ja eigentlich recht einfach aus; das Geladene Bild ist 50x50 Pixel gross und auf dem Formular existiert eine Picturebox mit dem Namen „pictureBox1“ in welchem dann schlussendlich das Bild eben so 50% deckend angezeigt werden soll.

Irgendwie bin ich glaub einfach zu blöd den Fehler zu sehen.

Für Hilfe wäre ich dankbar.
Gruss
Patrick

Hi.

Probier mal so, sollte so gehen.

**Bitmap bitmap = new Bitmap(50, 50);**
Graphics graph = Graphics.FromImage( **bitmap** );
System.Drawing.Imaging.ColorMatrix color = new
System.Drawing.Imaging.ColorMatrix();
System.Drawing.Imaging.ImageAttributes imgAttrib = new
System.Drawing.Imaging.ImageAttributes();
Rectangle rect = new Rectangle(0, 0, 50, 50);

color.Matrix33 = 0.5f;
imgAttrib.SetColorMatrix(color, System.Drawing.Imaging.ColorMatrixFlag.Default, 
System.Drawing.Imaging.ColorAdjustType.Bitmap);


graph.DrawImage(Image.FromFile(@"c:\bild.bmp"), rect, 0, 0, 50, 50,
 GraphicsUnit.Pixel, imgAttrib);
graph.DrawLine(new Pen(Color.AliceBlue), 0, 0, 20, 40);

Bitmap bitmap = new Bitmap(50, 50, graph);
pictureBox1.Image = bitmap;
pictureBox1.Update();

Gruß,
Andreas

Super, jetzt geht’s!

Allerbesten Dank und einen guten Rutsch ins 2010!
Gruss
Patrick