2011-01-03 2 views
22

Я пытаюсь сгенерировать PNG-файл с помощью C#. Все, что я, похоже, связано с WPF. Моя проблема: мне нужно создать квадрат PNG 50x50, заполненный зеленым цветом в .NET 2.0.Как сгенерировать PNG-файл с C#?

Мой вопрос: как мне это сделать? Я смотрел в пространстве имен System.Drawing. Но после всего этого я чувствую, что ухожу. Может ли кто-нибудь дать мне несколько указателей?

ответ

42

Вы можете создать растровое изображение с размером вы хотите, а затем создать Graphics объект, чтобы иметь возможность рисовать на растровом изображении. Метод Clear - это самый простой способ заполнить изображение цветом. Затем сохраните изображение, используя формат 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

Вот код для вас:

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

Вы можете сгенерировать файл PNG следующим образом -

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(); 
Смежные вопросы