Мои проблемы в том, что я не могу перезаписать недавно открывшееся изображение. Итак, давайте представим, я открываю файл с openfiledialog
:Получение общей ошибки GDI + при сохранении изображения
OpenFileDialog OpenFileDialog1 = new OpenFileDialog();
OpenFileDialog1.InitialDirectory = "c:\\";
OpenFileDialog1.Filter = "Images|*.GIF;*.TIF;*.JPG;*.BMP";
OpenFileDialog1.RestoreDirectory = true;
if (OpenFileDialog1.ShowDialog() == DialogResult.OK)
{
if ((OpenFileDialog1.OpenFile()) != null)
{
if (string.IsNullOrEmpty(OpenFileDialog1.FileName))
return;
pictureBox1.Image = Image.FromFile(OpenFileDialog1.FileName);
}
}
OpenFileDialog1.Dispose();
После того как я сделал некоторые корректировки на PictureBox (например, нарисовали что-то), я хочу, чтобы сохранить изображение (в тот же файл, из которого я открыли изображение) с savefiledialog
.
SaveFileDialog saveFileDialog1 = new SaveFileDialog();
saveFileDialog1.Filter = "BMP File|*.BMP";
saveFileDialog1.RestoreDirectory = true;
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
pictureBox1.Image.Save(saveFileDialog1.FileName, ImageFormat.Bmp);
}
Это дает мне ошибку (System.Runtime.InteropServices.ExternalException
) также известный как GDI + общей ошибкой. Таким образом, это в основном ошибка, которая запрещает мне перезаписывать недавно открывшийся файл.
Пожалуйста, позаботьтесь о том, чтобы правильно использовать названия вещей, к которым вы обращаетесь. Вы и @myb оба означают GDI +, а не GDI. Они разные API, с разными правилами, и это не только беспокоит мое OCD, но также влияет на точность результатов поиска (если вы надеялись на другое сокращение, попробуйте SEO). –