Копировать сохранить растровое изображение в файл C++
Привет. Я пытаюсь скопировать и сохранить содержимое изображения класса Bitmap в файл*. bmp, но в настоящее время получаю необработанные исключения во время выполнения консольной программы. Я был бы благодарен, если бы узнал, в чем заключается ошибка и как исправить эту программу. Спасибо.
Ниже приведена основная часть кода в основной программе:
Bitmap^ imageTest; String^ path = "C:\\ImageScan.bmp"; imageTest = gcnew Bitmap(path, true); // Actual image to be copied. Bitmap^ imageTestCopy; String^ path2 = "C:\\BrainScanCopy2.bmp"; //'blank canvas' identical to imageTest imageTestCopy = gcnew Bitmap(path2, true); int x = 0; int y = 0; for (x = 0; x < imageTest->Width; x++) // Loop through the image pixels { for (y = 0; y < imageTest->Height; y++) { Color pixelColor = imageTest->GetPixel(x, y); imageTestCopy->SetPixel(x, y, pixelColor); } } imageTestCopy->Save("c:\\BrainScanCopy3.bmp"); //save image to new file
Что я уже пробовал:
Я попытался изменить путь и использовать "imageTestCopy2.bmp" вместо "imageTestCopy3.bmp" при попытке сохранить изображение в файл.
Richard MacCutchan
Где вы получаете исключения и какие они бывают?
binaryoffset
Исключение составляло:
Необработанное исключение типа ' System. Runtime.InteropServices.ExternalException ' произошло в системе.Рисование.дополнительная информация файлов: общая ошибка в GDI+.
binaryoffset
Но я изменил путь с "c:\\ImageScanCopy3.bmp" в другую папку (которая находится внутри C:\\), и теперь она работает.
Afzaal Ahmad Zeeshan
Что это за неожиданное исключение, которое вы получаете?