Mega Code Archive

 
Categories / C# / 2D Graphics
 

Image Save

using System; using System.Drawing; using System.IO; using System.Windows.Forms;     class ImageOpen: Form {      protected string strProgName;      protected string strFileName;      protected Image  image;      MenuItem miSaveAs;      public static void Main()      {           Application.Run(new ImageOpen());      }      public ImageOpen()      {           ResizeRedraw = true;               Menu = new MainMenu();           Menu.MenuItems.Add("&File");           Menu.MenuItems[0].MenuItems.Add(new MenuItem("&Open...",                                     new EventHandler(MenuFileOpenOnClick),                                    Shortcut.CtrlO));           Menu.MenuItems[0].Popup += new EventHandler(MenuFileOnPopup);           miSaveAs = new MenuItem("Save &As...");           miSaveAs.Click += new EventHandler(MenuFileSaveAsOnClick);           Menu.MenuItems[0].MenuItems.Add(miSaveAs);      }      void MenuFileOnPopup(object obj, EventArgs ea)      {           miSaveAs.Enabled = (image != null);      }      void MenuFileSaveAsOnClick(object obj, EventArgs ea)      {           SaveFileDialog savedlg = new SaveFileDialog();               savedlg.InitialDirectory = Path.GetDirectoryName(strFileName);           savedlg.FileName = Path.GetFileNameWithoutExtension(strFileName);           savedlg.AddExtension = true;           savedlg.Filter = "Windows Bitmap (*.bmp)|*.bmp|" +                            "Graphics Interchange Format (*.gif)|*.gif|" +                            "JPEG File Interchange Format (*.jpg)|" +                               "*.jpg;*.jpeg;*.jfif|" +                            "Portable Network Graphics (*.png)|*.png|" +                            "Tagged Imaged File Format (*.tif)|*.tif;*.tiff";               if (savedlg.ShowDialog() == DialogResult.OK)           {                try                {                     image.Save(savedlg.FileName);                }                catch (Exception exc)                {                     MessageBox.Show(exc.Message, Text);                     return;                }                strFileName = savedlg.FileName;                Text = strProgName + " - " + Path.GetFileName(strFileName);           }      }      void MenuFileOpenOnClick(object obj, EventArgs ea)      {           OpenFileDialog dlg = new OpenFileDialog();               dlg.Filter = "All Image Files|*.bmp;*.ico;*.gif;*.jpeg;*.jpg;" +                               "*.jfif;*.png;*.tif;*.tiff;*.wmf;*.emf|" +                        "Windows Bitmap (*.bmp)|*.bmp|" +                        "Windows Icon (*.ico)|*.ico|" +                        "Graphics Interchange Format (*.gif)|*.gif|" +                        "JPEG File Interchange Format (*.jpg)|" +                               "*.jpg;*.jpeg;*.jfif|" +                        "Portable Network Graphics (*.png)|*.png|" +                        "Tag Image File Format (*.tif)|*.tif;*.tiff|" +                        "Windows Metafile (*.wmf)|*.wmf|" +                        "Enhanced Metafile (*.emf)|*.emf|" +                        "All Files (*.*)|*.*";               if (dlg.ShowDialog() == DialogResult.OK)           {                        try                {                     image = Image.FromFile(dlg.FileName);                }                catch (Exception exc)                {                     Console.WriteLine(exc.Message);                     return;                }                strFileName = dlg.FileName;                Text = Path.GetFileName(strFileName);                Invalidate();           }      }      protected override void OnPaint(PaintEventArgs pea)      {           Graphics grfx = pea.Graphics;               if (image != null)                grfx.DrawImage(image, 0, 0);      }       }