Создание большого изображения
В строчке
Выдает ошибку [COLOR="Red"]Troubleshooting Exceptions: System.ArgumentException: Недопустимый параметр.[/COLOR]. Если уменьшить размер изображения, то создается нормально. Кто сталкивался?
Я бы, на месте системы, тоже бы вызвал исключение. ;)
Я бы, на месте системы, тоже бы вызвал исключение.
Что самое интересное, ACDSee и фотошоп не вызывают, значит реализовать же как-то можно:) А вот Paint.NET вызывает....
Вывод мне кажется простым: раз Paint.NET не подходит, - не пользоваться им.
BMP - очень простой формат, поэтому (а также для того, чтобы полностью контролировать используемую память и не выделять лишнего) в данном случае проще всего будет создавать изображение ручками.
Кстати, встречный вопрос: а 1.5 Гбайта одним куском выделить можно?
Не думаю, что менеджер памяти в Paint.NET сопоставим с менеджером памяти того же Photoshop'а... Реализовать, разумеется, можно. И довольно несложно, если внимательно присмотреться к тому, как Photoshop работает с изображениями при масштабировании.
Кстати, встречный вопрос: а 1.5 Гбайта одним куском выделить можно?
А [FONT="Courier New"]GlobalAlloc[/FONT] - не подходит?
Честно говоря, не работал с .NET, знаю только, что работа с памятью там всячески скрывается от пользователя. Поэтому, что подходит, что - нет, сказать не могу.
И вопрос я этот задал не потому, что он меня интересует, а лишь потому, что в зависимости от ответа на него можно рекомендовать автору темы РАЗЛИЧНЫЕ способы преодоления его проблемы.
И я про .NET - не в курсе.
И вопрос я этот задал не потому, что он меня интересует, а лишь потому, что в зависимости от ответа на него можно рекомендовать автору темы РАЗЛИЧНЫЕ способы преодоления его проблемы.
Дык и я не тебе отвечал, а в "тему".
Небольшая нагрузка как на память, так и на графическую подсистему.
З.Ы. Для справки, при отрисовке любого куска Bitmap'а в .NET он целиком перекидывается в видеопамять.