web-dev-qa-db-fra.com

Comment générer un fichier PNG avec C #?

J'essaie de générer un fichier PNG en utilisant C #. Tout ce que je google semble être lié à WPF. Mon problème est que je dois créer un carré PNG 50x50 rempli de vert dans .NET 2.0.

Ma question est, comment dois-je procéder? Je cherchais dans l'espace de noms System.Drawing. Mais après tout cela, je sens que je suis loin. Quelqu'un peut-il me donner des conseils?

30
Villager

Vous pouvez créer un bitmap avec la taille souhaitée, puis créer un objet Graphics pour pouvoir dessiner sur le bitmap. La méthode Clear est le moyen le plus simple de remplir l'image avec une couleur. Enregistrez ensuite l'image au format 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);
}
50
Guffa

Voici le code pour vous:

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();
11
honibis

Vous pouvez générer un fichier png de la manière suivante -

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();
3
Kiva Yor