web-dev-qa-db-ja.com

C#でPNGファイルを生成する方法

C#を使用してPNGファイルを生成しようとしています。私がグーグルすることはすべてWPFに関連しているようです。私の問題は、.NET 2.0で緑で塗りつぶされたPNG 50x50の正方形を作成する必要があることです。

私の質問は、どうすればよいですか? System.Drawing名前空間を探していました。しかし、すべてのことの後で、私は遠く離れていると感じています。誰かが私にいくつかの指針を与えることはできますか?

30
Villager

必要なサイズのビットマップを作成してから、ビットマップ上に描画できる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);
}
50
Guffa

これがあなたのためのコードです:

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

次の方法で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();
3
Kiva Yor