В настоящее время я извлекаю данные VARBINARY из базы данных sql, преобразовываю их в BITMAP и затем добавляю каждый из них в объект списка.
Однако, когда я пытаюсь сохранить каждое из изображений в В приведенном выше списке я получаю обобщенное c GDI + исключение для функции image.save.
Что я пробовал: - Изменение пути (Путь в настоящее время C: \ Temp для тестирования) - Проверка разрешений (путь имеет полное разрешение) - Изменение из списка BITMAP в список ИЗОБРАЖЕНИЯ - Изменение ImageFormat функции сохранения - Установка EncodingQuality функции сохранения
Изображение 0 КБ создается в правильном каталоге с правильным именем, поэтому не Я уверен, что причина проблемы.
Ниже приведен мой код для сохранения:
public void doImport(List<Bitmap> images, string certNo, string saveLoc, ListView.ListViewItemCollection items) {
string path = String.Format("{0}\\{1}", saveLoc, certNo);
if ( !Directory.Exists(path) ) { Directory.CreateDirectory(path); }
for ( int i = 0; i < items.Count; i++ ) {
Bitmap image = images[i];
string imgPath = String.Format("{0}\\{1}\\{1}-{2}.jpg", saveLoc, certNo, items[i].Text);
try {
image.Save(imgPath, ImageFormat.Jpeg);
if ( File.Exists(imgPath) ) { images.Remove(image); }
} catch (Exception ex) {
MessageBox.Show(String.Format("Warning: Could not save image: {0}, it has been skipped.\n\n{1}", items[i].Text, ex.Message),
"Warning", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
}
}
Спасибо