Feedback

C# - Hintergrundfarbe Transparenter Bilder (z.B. PNG) ändern

Veröffentlicht von am 4/26/2008
(1 Bewertungen)
Ändert die Hintergrundfarbe eines Bildes. Wenn z.B. mit

Image Bild = Image.FromFile(@"C:\TEST.PNG");

ein Transparentes PNG Bild geladen wird, so kann mit dieser Funktion die eigentliche Hintergrundfarbe bestimmt werden.

Aufrufbeispiel:

pictureBox1.Image = ChangeBackColor(Image.FromFile(@"C:\TRANS1.PNG"), Color.Green);
using System.Drawing;

/// <summary>
/// Ändert die Hintergrundfarbe eines Bildes (Ideal bei Transparente PNG's)
/// </summary>
/// <param name="Source">Originalbild als Image</param>
/// <param name="Back">Hintergrundfarbe</param>
/// <returns></returns>
public static Image ChangeBackColor(Image Source, Color Back)
{
	Bitmap objBitmap = new Bitmap(Source.Width, Source.Height);
	using (Graphics objGfx = System.Drawing.Graphics.FromImage(objBitmap))
	{
		objGfx.FillRectangle(new SolidBrush(Back), 0, 0, Source.Width, Source.Height);
		objGfx.DrawImage(Source, 0, 0);
	}
	return objBitmap;
}

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!