![]() |
|
Модераторы: gambit, Partizan |
![]()
|
|
| myendlessness |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 8.8.2008 Репутация: нет Всего: нет |
Ребята подскажите, пожалуйста, есть разного размера картинки, загружаю их в pictureBox и всё нормально, но как только пытаюсь загрузить большую картинку размером 222Мб выкидывает вот такую ошибку - "Недопустимый параметр" (System.ArgumentException)
вот код:
|
|||
|
||||
| Crypton |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 158 Регистрация: 9.10.2006 Где: США, Санкт-Петерб ург Репутация: нет Всего: 2 |
А может лучше переписать в
? А виснет только при таком размере? Пробовали другие картинки в том-же формате но поменьше? Это сообщение отредактировал(а) Crypton - 22.9.2009, 22:10 --------------------
«Все, что вы знаете — ложь» Теория мироздания |
|||
|
||||
| myendlessness |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 8.8.2008 Репутация: нет Всего: нет |
2 Crypton
Я загружал файлы этого же формата (Tif) разного размера, например: 76Мб, 12Мб, 1Мб, 256Кб и все они работали нормально, не выдавало никаких ошибок. Не понял как именно Вы предлагаете переписать, если Вам не трудно покажите как именно Вы предлагаете изменить данную конструкцию с using:
Добавлено через 3 минуты и 11 секунд Попробовал вот так, оно вообще вылетает!
Видимо это именно то, что Вы предлагали? |
||||
|
|||||
| Ptica_Oz |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 96 Регистрация: 1.3.2007 Репутация: нет Всего: нет |
и мне, и мне помогите!
задача состряпать новый растр из старого + текст пишу так:
ошибку выдаёт ту же "Недопустимый параметр". тестирую на .tif разных размеров есть подозрения, что сабака порылась в самих файлах, а размеры тут не причём, но не уверена |
|||
|
||||
| Crypton |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 158 Регистрация: 9.10.2006 Где: США, Санкт-Петерб ург Репутация: нет Всего: 2 |
Немного погуглив выходит, что проблема при сжатии формата. Когда сохраняется в тиф, народ пишет что используется сжатие от jpeg, в следствии чего и вылетает такая вот ошибка. Это один вариант. Но вернемся к сабжу. Выходит, что все работает спокойно пока мы не перейдем определенный порог памяти (все-же загрузка картинки в обоих вариантах происходит сначала в память а потом уже дается ссылка на картинку к picturebox). Возможно просто происходит внутреннее переполнение буфера и GDI падает. Попробуйте сжать как-нибудь картинку и потом уже давать её picturebox. На крайняк попробуйте скомпилировать приложение под x64 (если система позволяет). Никогда с такой проблемой не сталкивался так что могу понаписать фигни еще тут
--------------------
«Все, что вы знаете — ложь» Теория мироздания |
|||
|
||||
| myendlessness |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 8.8.2008 Репутация: нет Всего: нет |
Порылся в сети ничего внятного не нашёл, есть похожие проблемы, но так же не было на них вразумительного ответа, либо это была проблема "пути", то есть файл не находился по заданному адресу! Но это не мой случай, однако, всё равно вылетает.
|
|||
|
||||
| Ptica_Oz |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 96 Регистрация: 1.3.2007 Репутация: нет Всего: нет |
попробовала так:
теперь вылетает на строке "Graphics gr = Graphics.FromImage(pageImage);" со словами "Невозможно создать объект графики из изображения, имеющего формат с индексированными пикселами." если pageImage создаю без указания формата пикселей, то ругается на строке "gr.DrawImageUnscaled(image, 0, 0);" со словами "Недостаточно памяти" Да, ещё! я тестирую на разных файлах расширения .tif с разными сжатиями (CCITT Group 3, CCITT Group 4, ZIP, LZW и без сжатия) и разными физическими размерами рисунка (А1, А3, А4). ZIP вообще не берётся, никакой. остальные сжатия маленьких размеров (А4, А3) обрабатываются кодом из моего предыдущего поста, а А1 не может. Обращаю внимание, что размер занимаемой файлом памяти не играет роли. Тестила на 38Мб многостраничном файле А4 - работало! яки будут пропозиции? Это сообщение отредактировал(а) Ptica_Oz - 29.9.2009, 14:05 |
|||
|
||||
| myendlessness |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 8.8.2008 Репутация: нет Всего: нет |
2 Ptica_Oz
38Мб это небольшой файл, у меня загружается и 76Мб нормально без проблем, а вот 222Мб уже не хочет. Правда я загружаю Tiff (без сжатия). |
|||
|
||||
| Ptica_Oz |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 96 Регистрация: 1.3.2007 Репутация: нет Всего: нет |
этот пример создаёт новый файл во временной директории. В момент "gr.DrawImageUnscaled(image, 0, 0);" файл может принять очень большие размеры, т.ч. если на диске мало места, то будет вылизать ошибка "Недостаточно памяти". Проверила на файле 65Мб - цветная 8-битная картинка без сжатия размером А1, сработало. если у кого есть что сказать по этому поводу, говорите не стесняйтесь |
|||
|
||||
| myendlessness |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 8.8.2008 Репутация: нет Всего: нет |
У меня всё равно вылетает большая картинка 222Мб, ничего не мгу понять, вот привожу Disassembly может кто-то что-то подскажет
Загрузка изображения следующая
|
||||
|
|||||
| myendlessness |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 8.8.2008 Репутация: нет Всего: нет |
Посмотрел вообще ни одна картинка не зугружается сейчас!
Переписал загрузку
Теперь загружаются картинки нормально, только большая не загружается и вылетает вот здесь
Пишет ошибку: An unhandled exception of type 'System.ArgumentException' occurred in System.Drawing.dll Additional information: Недопустимый параметр. Это сообщение отредактировал(а) myendlessness - 21.10.2009, 12:45 |
||||
|
|||||
| Crypton |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 158 Регистрация: 9.10.2006 Где: США, Санкт-Петерб ург Репутация: нет Всего: 2 |
Ошибки подобного типа происходят как раз в GDI а не в .net --------------------
«Все, что вы знаете — ложь» Теория мироздания |
|||
|
||||
| myendlessness |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 8.8.2008 Репутация: нет Всего: нет |
2 Crypton
Что это означает? Где нужно рыть чтобы понять? |
|||
|
||||
| Ptica_Oz |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 96 Регистрация: 1.3.2007 Репутация: нет Всего: нет |
2 myendlessness:
GDI не совершенен, может всё-таки дело в картинке?... поробуй проанализировать чем, кроме размера, она отличается от остальных... |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Разработка Windows Forms | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |