39

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

ここに画像の説明を入力

使えばいいと思った

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

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

4

4 に答える 4

63

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

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);
}
于 2012-10-16T08:00:17.697 に答える
45

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

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

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

于 2012-10-16T07:55:52.797 に答える
4

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

  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または、Controlのメソッドを使用できます。このようなもの:

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);
于 2012-10-16T08:07:06.957 に答える