web-dev-qa-db-ja.com

画像をファイルに保存する

私は基本的な描画アプリケーションに取り組んでいます。ユーザーに画像の内容を保存してほしい。

enter image description here

使うべきだと思った

System.Drawing.Drawing2D.GraphicsState img = drawRegion.CreateGraphics().Save();

しかし、これはファイルに保存するのに役立ちません。

27
Victor

このアプローチを使用して画像を保存しようとすることができます

SaveFileDialog dialog = new SaveFileDialog();
if (dialog.ShowDialog() == DialogResult.OK)
{
   int width = Convert.ToInt32(drawImage.Width); 
   int height = Convert.ToInt32(drawImage.Height); 
   Bitmap bmp = new Bitmap(width,height);        
   drawImage.DrawToBitmap(bmp, new Rectangle(0, 0, width, height);
   bmp.Save(dialog.FileName, ImageFormat.Jpeg);
}
42
Steve

このコードで試すことができます

 Image.Save("myfile.png",ImageFormat.Png)

リンク: http://msdn.Microsoft.com/en-us/library/ms142147.aspx

28
Aghilas Yakoub

コントロールのグラフィックスで描画する場合、キャンバスに描画するすべてをビットマップに描画する必要がありますが、ビットマップは描画するコントロールの正確なサイズである必要があることに留意してください。

  Bitmap bmp = new Bitmap(myControl.ClientRectangle.Width,myControl.ClientRectangle.Height);
  Graphics gBmp = Graphics.FromImage(bmp);
  gBmp.DrawEverything(); //this is your code for drawing
  gBmp.Dispose();
  bmp.Save("image.png", ImageFormat.Png);

または、コントロールのDrawToBitmapメソッドを使用できます。このようなもの:

Bitmap bmp = new Bitmap(myControl.ClientRectangle.Width, myControl.ClientRectangle.Height);
myControl.DrawToBitmap(bmp,new Rectangle(0,0,bmp.Width,bmp.Height));
bmp.Save("image.png", ImageFormat.Png);
2

画像を保存し、現在のディレクトリアプリケーションにファイルを保存して、ファイルを任意のディレクトリに移動できます。

Bitmap btm = new Bitmap(image.width,image.height);
Image img = btm;
                    img.Save(@"img_" + x + ".jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
                    FileInfo img__ = new FileInfo(@"img_" + x + ".jpg");
                    img__.MoveTo("myVideo\\img_" + x + ".jpg");
0
Mahmmoud Kassem