DOBON.NET DOBON.NETプログラミング掲示板過去ログ

画像の保存

  • 題名: 画像の保存
  • 著者: やす
  • 日時: 2004/09/13 23:17:05
  • ID: 6151
  • この記事の返信元:
    • (なし)
  • この記事への返信:
  • ツリーを表示
環境/言語:[XP SP2]
分類:[.NET]

こちらの方法を参考にさせてもらい,OnPaintメソッドをオーバーライドし、Formに画像を描画することが出来ました。
次にこのForm上の画像を再度取得して保存したいのですが方法がわかりません。
 ピクチャボックスを使用すれば簡単な事はわかっているのですが,他との関連でどうしてもOnPaintメソッドを使用しなければなりません。
 また,セーブファイルダイアログも使用せずに保存できればと思っています。
とても簡単な事のようにも思うのですがどうしてもうまくいきませんよろしくお願いします。
こんばんは〜

>Form上の画像を再度取得して保存したいのですが方法がわかりません。
これとは正反対のサンプルになってしまいますが。
今回のわたしのやり方だと、
ビットマップを作成しておき、そこに描画をしていきます。
その描画したものを、フォームに表示させたり、保存したりする方法です。

Image img = new Bitmap(400, 300);
private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e) {
    Graphics g = Graphics.FromImage(img);
    g.Clear(Color.White);
    g.FillRectangle(Brushes.Blue, 10, 10, 100, 100);

    //画像の保存(なんとなくPNGで保存)
    img.Save("test.png", System.Drawing.Imaging.ImageFormat.Png);

    //画面に描画
    e.Graphics.DrawImage(img, 0, 0);
}

DOBON.NET | プログラミング道 | プログラミング掲示板