c# - examples - Guardando imagen en archivo
system drawing imaging (4)
Estoy trabajando en una aplicación de dibujo básica. Quiero que el usuario pueda guardar el contenido de la imagen.
Pensé que debería usar
System.Drawing.Drawing2D.GraphicsState img = drawRegion.CreateGraphics().Save();
pero esto no me ayuda para guardar en el archivo.
Podrías intentar guardar la imagen utilizando este enfoque.
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);
}
Puedes probar con este código
Image.Save("myfile.png",ImageFormat.Png)
Enlace: http://msdn.microsoft.com/en-us/library/ms142147.aspx
Si está dibujando en los Gráficos del Control, debe hacer algo en el Mapa de bits todo lo que está dibujando en el lienzo, pero tenga en cuenta que el Mapa de bits debe ser el tamaño exacto del control en el que está dibujando:
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);
O puede usar un método DrawToBitmap
del Control. Algo como esto:
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);
puede guardar la imagen, guardar el archivo en su aplicación de directorio actual y mover el archivo a cualquier directorio.
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");