A-Spt_N(o)
07.05.2010, 20:16
Закончил программку(курсовой) по работе с изображениями... возникла небольшая проблема с сохранением(с заменой существующего из-ия). Сохранить как - работает, все четко, все отлично... а вот замена, что то не получается....
Вот исходники двух методов (загрузки изображения и пересохранения):
public void LoadImage()
{
openFileDialog.Filter = "Изображение JPG (*.jpg)|*.jpg|" +
"Изображение BMP (*.bmp)|*.bmp|" +
"Изображение PNG (*.png)|*.png";
DialogResult openResult = openFileDialog.ShowDialog();
if (openResult == DialogResult.Cancel)
return;
fileName = openFileDialog.FileName;
if (fileName == null || fileName == "")
MessageBox.Show("Ошибка открытия файла", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
else
{
try
{
viewer = source = Image.FromFile(fileName);
if (source.Width >= pictureBox.Width ||
source.Height >= pictureBox.Height)
{
pictureBox.Image = ImageSizeChange(pictureBox.Width, pictureBox.Height);
}
else
{
pictureBox.Image = source;
}
}
catch (Exception ex)
{
MessageBox.Show("Не удалось загрузить файл: " + ex.Message);
}
}
width_textBox.Text = (source.Width).ToString();
height_textBox.Text = (source.Height).ToString();
}
public void SaveImage()
{
if (source != viewer)
{
try
{
viewer.Save(fileName);
MessageBox.Show("Файл сохранен!", "Удачное сохранение", MessageBoxButtons.OK, MessageBoxIcon.Information);
//source = Image.FromFile(fileName);
}
catch (Exception ex)
{
MessageBox.Show("Не удалось сохранить файл: " + ex.Message);
}
}
else
{
MessageBox.Show("Файл не был изменен", "Неудачное сохранение", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
При попытке сохранить срабатывает catch и выдается следующее сообщение - В GDI возникла ошибка общего вида!!!
Пробовал дебажить с Брекпоинтом... переменные заполнены правильно, путь тоже существует, однако сэйф все равно не проходил:(
У кого нить есть предположения в чем может быть problem???
Вот исходники двух методов (загрузки изображения и пересохранения):
public void LoadImage()
{
openFileDialog.Filter = "Изображение JPG (*.jpg)|*.jpg|" +
"Изображение BMP (*.bmp)|*.bmp|" +
"Изображение PNG (*.png)|*.png";
DialogResult openResult = openFileDialog.ShowDialog();
if (openResult == DialogResult.Cancel)
return;
fileName = openFileDialog.FileName;
if (fileName == null || fileName == "")
MessageBox.Show("Ошибка открытия файла", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
else
{
try
{
viewer = source = Image.FromFile(fileName);
if (source.Width >= pictureBox.Width ||
source.Height >= pictureBox.Height)
{
pictureBox.Image = ImageSizeChange(pictureBox.Width, pictureBox.Height);
}
else
{
pictureBox.Image = source;
}
}
catch (Exception ex)
{
MessageBox.Show("Не удалось загрузить файл: " + ex.Message);
}
}
width_textBox.Text = (source.Width).ToString();
height_textBox.Text = (source.Height).ToString();
}
public void SaveImage()
{
if (source != viewer)
{
try
{
viewer.Save(fileName);
MessageBox.Show("Файл сохранен!", "Удачное сохранение", MessageBoxButtons.OK, MessageBoxIcon.Information);
//source = Image.FromFile(fileName);
}
catch (Exception ex)
{
MessageBox.Show("Не удалось сохранить файл: " + ex.Message);
}
}
else
{
MessageBox.Show("Файл не был изменен", "Неудачное сохранение", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
При попытке сохранить срабатывает catch и выдается следующее сообщение - В GDI возникла ошибка общего вида!!!
Пробовал дебажить с Брекпоинтом... переменные заполнены правильно, путь тоже существует, однако сэйф все равно не проходил:(
У кого нить есть предположения в чем может быть problem???