Je travaille sur une application de dessin de base. Je veux que l'utilisateur puisse sauvegarder le contenu de l'image.
Je pensais que je devrais utiliser
System.Drawing.Drawing2D.GraphicsState img = drawRegion.CreateGraphics().Save();
mais cela ne m'aide pas pour l'enregistrement dans un fichier.
Vous pouvez essayer de sauvegarder l'image en utilisant cette approche
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);
}
Vous pouvez essayer avec ce code
Image.Save("myfile.png",ImageFormat.Png)
Si vous dessinez sur les graphiques du contrôle, vous devez dessiner sur le bitmap tout ce que vous dessinez sur la toile, mais gardez à l'esprit que bitmap doit être à la taille exacte du contrôle sur lequel vous dessinez:
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);
Ou vous pouvez utiliser une méthode DrawToBitmap
du contrôle. Quelque chose comme ça:
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);
vous pouvez enregistrer une image, enregistrer le fichier dans votre application de répertoire actuelle et déplacer le fichier dans n’importe quel répertoire.
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");