Как сохранить изображение PictureBox в разных форматах?

У меня есть графический блок, который будет содержать изображение, созданное во время выполнения. Мне нужно сохранить это изображение с помощью SaveFileDialog, для которого я нашел следующий код:

 private void saveFileDialog1_FileOk(object sender, CancelEventArgs e)
    {
        pictureBox.Image.Save(saveFileDialog1.FileName, System.Drawing.Imaging.ImageFormat.Jpeg);
    }

Однако это работает, мне нужно разрешить пользователю указать в FileDalog, в каком формате он хочет его сохранить. Допустимые форматы для пользователя:

Растровое изображение (* .bmp),

GIF (* .gif),

JPEG (* .jpg),

и PNG (* .png). Будем очень признательны за любые примеры или рекомендации о том, как это сделать.


person James Thompson    schedule 30.11.2012    source источник


Ответы (1)


Что-то вроде этого могло бы быть хорошим местом для начала

        var fd = new SaveFileDialog();
        fd.Filter = "Bmp(*.BMP;)|*.BMP;| Jpg(*Jpg)|*.jpg";
        if (fd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
        {
            switch (Path.GetExtension(fd.FileName))
            {
                case ".BMP":
                    pictureBox.Image.Save(fd.FileName, System.Drawing.Imaging.ImageFormat.Bmp);
                    break;
                case ".Jpg":
                    pictureBox.Image.Save(fd.FileName, System.Drawing.Imaging.ImageFormat.Jpeg);
                    break;
                default:
                    break;
            }
        }
person sa_ddam213    schedule 30.11.2012