2011-01-03 21 views
22

Próbuję wygenerować plik PNG przy użyciu C#. Wszystko, co google wydaje się być związane z WPF. Mój problem polega na tym, że muszę utworzyć kwadrat PNG 50x50 wypełniony zielonym w .NET 2.0.Jak wygenerować plik PNG za pomocą C#?

Moje pytanie brzmi: jak to zrobić? Szukałem w przestrzeni nazw System.Drawing. Ale po tym wszystkim czuję, że jestem daleko. Czy ktoś może mi podać jakieś wskazówki?

Odpowiedz

42

Można utworzyć bitmapę z żądanej wielkości, a następnie utworzyć Graphics obiektu, aby móc korzystać z bitmapy. Metoda Clear to najprostszy sposób wypełnienia obrazu kolorem. Następnie zapisać obraz w formacie PNG:

using (Bitmap b = new Bitmap(50, 50)) { 
    using (Graphics g = Graphics.FromImage(b)) { 
    g.Clear(Color.Green); 
    } 
    b.Save(@"C:\green.png", ImageFormat.Png); 
} 
9

Oto kod dla Ciebie:

Bitmap bmp = new Bitmap(50,50); 
Graphics g = Graphics.FromImage(bmp); 
g.FillRectangle(Brushes.Green, 0, 0, 50, 50); 
g.Dispose(); 
bmp.Save("filepath", System.Drawing.Imaging.ImageFormat.Png); 
bmp.Dispose(); 
1

można wygenerować plik png przez następujący sposób -

FileInfo fi = new FileInfo(@"D:\bango.png"); 
FileStream fstr = fi.Create(); 
Bitmap bmp = new Bitmap(50, 50); 
bmp.Save(fstr, ImageFormat.Png); 
fstr.Close(); 
fi.Delete(); 
Powiązane problemy