Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/222: Рейтинг темы: голосов - 222, средняя оценка - 4.75
Заблокирован

При сохранении битмапа возникает такая ошибка: "В GDI+ возникла ошибка общего вида"

23.03.2015, 11:55. Показов 44248. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
помогите пожалуйста при сохранении битмапа возникает такая ошибка: "В GDI+ возникла ошибка общего вида."

делаю так:
C#
1
2
3
var bmp = new Bitmap(args[2]);
...
bmp.Save(args[2], System.Drawing.Imaging.ImageFormat.Bmp);
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.03.2015, 11:55
Ответы с готовыми решениями:

В GDI+ возникла ошибка общего вида или процесс занят
Bitmap printscreen = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height) Graphics graphics...

В GDI+ возникла ошибка общего вида
Здравствуйте! Вот почему так работает: public static Image AddAddiativeNoise(Image image, int k, uint factor) { ...

В GDI+ возникла ошибка общего вида
Здравствуйте! Помогите, пожалуйста. Почему возникает такая ошибка? private byte ImageToByteArray(Image img) { ...

19
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
23.03.2015, 12:10
Цитата Сообщение от Rillaxac Посмотреть сообщение
C#
1
var bmp = new Bitmap(args[2]);
Что находится в args[2]?
Оно понятно, что путь. Какой именно? Проверьте, чтобы он был корректен.

Цитата Сообщение от Rillaxac Посмотреть сообщение
...
Удалите эту часть — ошибка остается?
0
Заблокирован
23.03.2015, 12:14  [ТС]
Цитата Сообщение от kolorotur Посмотреть сообщение
Что находится в args[2]?
Оно понятно, что путь. Какой именно? Проверьте, чтобы он был корректен.
корректно, просто строка типа "picture.bmp"
Цитата Сообщение от kolorotur Посмотреть сообщение
Удалите эту часть — ошибка остается?
да
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
23.03.2015, 12:18
Лучший ответ Сообщение было отмечено Rillaxac как решение

Решение

Цитата Сообщение от Rillaxac Посмотреть сообщение
да
Попробуйте тогда сохранить изображение под другим именем, например "picture_copy.bmp".
1
Заблокирован
23.03.2015, 12:26  [ТС]
Цитата Сообщение от kolorotur Посмотреть сообщение
Попробуйте тогда сохранить изображение под другим именем, например "picture_copy.bmp".
все уже и сам дошел, оказывается не нравится ему что я под тем же именем сохраняю...

Добавлено через 4 минуты
а не подскажите мне тогда как же все таки сделать чтобы сохранялось под тем же именем? это важно ! просто если я так сохраняю ошибка, пытался удалить файл перед сохранением пишет файл уже используется (соответственно моим же приложением, он же в битмап загружен), но мне надо именно под тем же именем принципиально !

Добавлено через 1 минуту
может быть можно получить как то этот битмап в буфер, закрыть объект и сохранить буфер в файл? только как получить объект в буфер?
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
23.03.2015, 12:35
Цитата Сообщение от Rillaxac Посмотреть сообщение
может быть можно получить как то этот битмап в буфер, закрыть объект и сохранить буфер в файл?
Конечно:
C#
1
2
3
4
5
6
7
8
9
Bitmap bmp;
using (var fs = File.OpenRead(args[2]))
   bmp = new Bitmap(fs);
 
using (bmp)
{
   ...
   bmp.Save(args[2], System.Drawing.Imaging.ImageFormat.Bmp);
}
0
Заблокирован
23.03.2015, 12:37  [ТС]
Цитата Сообщение от kolorotur Посмотреть сообщение
Конечно:
ну можно и так а то я уже по другому решил))0
C#
1
2
3
4
5
var bmp = new Bitmap(args[2]);
var stream = new MemoryStream();
bmp.Save(stream, System.Drawing.Imaging.ImageFormat.Bmp);
bmp.Dispose();
File.WriteAllBytes(args[2], stream.GetBuffer());
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
23.03.2015, 13:04
Цитата Сообщение от Rillaxac Посмотреть сообщение
а то я уже по другому решил
Так памяти в два раза больше на каждое изображение используется
0
0 / 0 / 1
Регистрация: 31.10.2014
Сообщений: 45
01.02.2017, 21:17
Предыстория тут

Теперь вот что у меня получается. Если изображение из базы, JPG Формата, то Выдает ошибку(смотрите вложение) а если .png то все работает. Вот код :
C#
1
2
3
4
5
6
7
8
9
10
11
 byte[] img = null;
                 
 
                    if (vessel_pic.Image != null)
                    {
                        MemoryStream ms = new MemoryStream();
                        vessel_pic.Image.Save(ms, vessel_pic.Image.RawFormat);
                        img = ms.ToArray();
 
                         
                    }
Миниатюры
При сохранении битмапа возникает такая ошибка: "В GDI+ возникла ошибка общего вида"  
0
0 / 0 / 1
Регистрация: 31.10.2014
Сообщений: 45
04.02.2017, 05:19
Никто не ответит?
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18273 / 14196 / 5368
Регистрация: 17.03.2014
Сообщений: 28,881
Записей в блоге: 1
04.02.2017, 07:48
UAA1979, посмотри есть ли вложенное исключение (InnerException) и если да, то что написано в нем. Для этого нажми на ссылку "View detail..." в окне исключения и VS покажет тебе полную информацию о исключении.
1
0 / 0 / 1
Регистрация: 31.10.2014
Сообщений: 45
09.02.2017, 01:37
Извините что так поздно отвечаю просто не заметил( Насчет ошибки я нажимаю показать детали но ничего нового не показывает:
System.Runtime.InteropServices.ExternalE xception occurred
HResult=-2147467259
Message=В GDI+ возникла ошибка общего вида.
Source=System.Drawing
ErrorCode=-2147467259
StackTrace:
в System.Drawing.Image.Save(Stream stream, ImageCodecInfo encoder, EncoderParameters encoderParams)
в MWD_1.main_gate.v_add_btn_Click(Object sender, EventArgs e) в c:\Users\Karashka\Desktop\C#\MVD-2bad\MVD-2\main_gate.cs:строка 235
InnerException:
Миниатюры
При сохранении битмапа возникает такая ошибка: "В GDI+ возникла ошибка общего вида"  
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18273 / 14196 / 5368
Регистрация: 17.03.2014
Сообщений: 28,881
Записей в блоге: 1
09.02.2017, 16:14
UAA1979, раскрой исключение в окне View Detail и посмотри точно ли в InnerException ничего нет?
0
0 / 0 / 1
Регистрация: 31.10.2014
Сообщений: 45
09.02.2017, 19:04
И опять вы правы. Показывает нуль. Расскажу как бывает. Я выбираю из списка айтем. Он выбрасывает данные и изображение из базы на pictureBox. Я меняю данные но не изображение и хочу добавить как новый айтем. Вот тогда то и выходит эта ошибка. На pictureBox е по умолчанию стоит изображение и если нету изображения он добовляет эту. Но если из базы загрузить изображение то выходит эта ошибка.
Миниатюры
При сохранении битмапа возникает такая ошибка: "В GDI+ возникла ошибка общего вида"  
0
0 / 0 / 1
Регистрация: 31.10.2014
Сообщений: 45
09.02.2017, 19:07
Да кстати если в базе pnq то нет проблем
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18273 / 14196 / 5368
Регистрация: 17.03.2014
Сообщений: 28,881
Записей в блоге: 1
09.02.2017, 19:23
UAA1979, я как раз таки надеялся что в InnerException что-то будет. Посмотри чему равен в этот момент vessel_pic.Image и vessel_pic.Image.RawFormat для png и jpeg. Может с ними что-то не так.
0
0 / 0 / 1
Регистрация: 31.10.2014
Сообщений: 45
09.02.2017, 20:31
А как посмотреть не подскажите? Как то можно вывести изображение в
C#
1
MessageBox. Show
?
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18273 / 14196 / 5368
Регистрация: 17.03.2014
Сообщений: 28,881
Записей в блоге: 1
09.02.2017, 20:44
UAA1979, запусти код под отладчиком
0
0 / 0 / 1
Регистрация: 31.10.2014
Сообщений: 45
14.02.2017, 22:45
Разобрался с отладчиком. Ничего не показывает просто на этом месте сценарий останавливается. Никакой ошибки ничего кроме то что выдает . 0 ошибок 0 предупреждений Где смотреть что передает в этот момент ума не приложу(
Миниатюры
При сохранении битмапа возникает такая ошибка: "В GDI+ возникла ошибка общего вида"  
0
907 / 664 / 318
Регистрация: 23.10.2016
Сообщений: 1,543
15.02.2017, 13:48
UAA1979, кто ж в режиме Release дебажит!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.02.2017, 13:48
Помогаю со студенческими работами здесь

В GDI+ возникла ошибка общего вида Image
ПРИНИМАЮ System.Threading.Thread.Sleep(100); byte igeb = new byte; igeb = Convert.FromBase64String(Img); MemoryStream ms = new...

System.Runtime.InteropServices.ExternalException: "В GDI+ возникла ошибка общего вида." Ошибка сохранения файла
У меня есть задача сделать что-то наподобие Paint. И проблема с сохранением файла. 1) Выбираем рисунок и загружаем в наш picturebox. ...

В GDI+ произошла ошибка общего вида при сохранении изображений из picturebox'a в файл
Опять не получается. Что посоветуете? Как все таки сделать сохранение изображений из picturebox'a в файл что бы не было ошибок? Вечная...

Ошибка перезаписи файла: В GDI+ возникла ошибка общего вида
Написал небольшой граф редактор в visual studio 2013. Когда сохраняю файл с таким же именем, вылазит окошко о подтверждении перезаписи....

В gdi+ возникла ошибка общего вида
При попытке сохранить файл (был написан на другом компьютере) выскакивает ошибка "В gdi+ возникла ошибка общего вида". Как ее...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru