Saving image to file
You can save image , save the file in your current directory application and move the file to any directory .
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");
You can try with this code
Image.Save("myfile.png", ImageFormat.Png)
Link : http://msdn.microsoft.com/en-us/library/ms142147.aspx
If you are drawing on the Graphics of the Control than you should do something draw on the Bitmap everything you are drawing on the canvas, but have in mind that Bitmap needs to be the exact size of the control you are drawing on:
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);
Or you can use a DrawToBitmap
method of the Control. Something like this:
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);
You could try to save the image using this approach
SaveFileDialog dialog=new SaveFileDialog();
if (dialog.ShowDialog()==DialogResult.OK)
{
int width = Convert.ToInt32(drawImage.Width);
int height = Convert.ToInt32(drawImage.Height);
using(Bitmap bmp = new Bitmap(width, height))
{
drawImage.DrawToBitmap(bmp, new Rectangle(0, 0, width, height));
bmp.Save(dialog.FileName, ImageFormat.Jpeg);
}
}