Ä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