powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Создание картинок с большим разрешением на С#
25 сообщений из 30, страница 1 из 2
Создание картинок с большим разрешением на С#
    #38384314
evgeniy214
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго дня всем! Есть задача, склеивание тайлов в один большой кусок карты, и нанесением на него линий маркеров и тд. Использую Bitmap, но не получается создать его с большим размером (например 32767х32767), с мелким разрешением работает на ура. Может кто сталкивался с похожей задачей, порекомендуйте альтернативу стандартному Bitmap.
...
Рейтинг: 0 / 0
Создание картинок с большим разрешением на С#
    #38384388
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не хилые у вас картинки, память не хватает?
...
Рейтинг: 0 / 0
Создание картинок с большим разрешением на С#
    #38384400
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подобный задачи решаются не так в лоб, как у тебя. Результат ренденринга - растр. С кэшированием изображение всех слоев. Плюс нужно еще преобразовывать географическую систему координат к экранной (pipeline), как я понимаю.

Гляди как по уму (Amazon CloundFront и Google Maps):

http://deadlock.org.ua/kit/habr/post/539 На картинке можно увидеть, как исходная карта разбивается на тайлы, тайлы уходят на хранение в S3, а оттуда загружаются в CloudFront и уже из его узлов доставляются пользователям.


P.S. Вообщем, это отдельное направление, нужно хорошо знать предметную область и матчасть. Лично я не имею такого опыта, так что помочь не смогу. Да и без готовых библиотек (всякие там SDK GIS) трудно будет.
...
Рейтинг: 0 / 0
Создание картинок с большим разрешением на С#
    #38384402
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
даже с включённым флагом на использование больше чем 4гб объекты в 4.5 не фонтан идея,надо как то записывать кусками байтов в файл напрямую.
...
Рейтинг: 0 / 0
Создание картинок с большим разрешением на С#
    #38384404
evgeniy214
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Крутится на блейдах, запас по железу огромный. Склеивание проводится не часто, только когда необходима печать на плоттере, но вот только с Bitmap проблема.
...
Рейтинг: 0 / 0
Создание картинок с большим разрешением на С#
    #38384408
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
evgeniy214Крутится на блейдах, запас по железу огромный. Склеивание проводится не часто, только когда необходима печать на плоттере, но вот только с Bitmap проблема.
Забудь про Bitmap.
...
Рейтинг: 0 / 0
Создание картинок с большим разрешением на С#
    #38384413
evgeniy214
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
МСУ, все уже реализовано и работает, и кешируется, и координаты преобразовуются, проблема в создании картинки с большим разрешением.
...
Рейтинг: 0 / 0
Создание картинок с большим разрешением на С#
    #38384415
evgeniy214
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
МСУevgeniy214Крутится на блейдах, запас по железу огромный. Склеивание проводится не часто, только когда необходима печать на плоттере, но вот только с Bitmap проблема.
Забудь про Bitmap.

И хочу забыть, нато и тему поднял, есть альтернатива?
...
Рейтинг: 0 / 0
Создание картинок с большим разрешением на С#
    #38384425
evgeniy214
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
handmadeFromRuдаже с включённым флагом на использование больше чем 4гб объекты в 4.5 не фонтан идея,надо как то записывать кусками байтов в файл напрямую.
Дело в том что результирующий фай получаетсе не такой уже и большой (8000х13000 - 40мб)
...
Рейтинг: 0 / 0
Создание картинок с большим разрешением на С#
    #38384434
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
evgeniy214Дело в том что результирующий фай получаетсе не такой уже и большой (8000х13000 - 40мб)
а подсчитайте в битмапе скока)
http://msdn.microsoft.com/en-us/library/hh285054(v=VS.110).aspx попробуйте
...
Рейтинг: 0 / 0
Создание картинок с большим разрешением на С#
    #38384448
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
evgeniy214МСУ, все уже реализовано и работает, и кешируется, и координаты преобразовуются, проблема в создании картинки с большим разрешением.
Ха, так это основное, ради чего нужно использовать растры. Вообщем, у тебя тупиковая архитектура.

evgeniy214handmadeFromRuдаже с включённым флагом на использование больше чем 4гб объекты в 4.5 не фонтан идея,надо как то записывать кусками байтов в файл напрямую.
Дело в том что результирующий фай получаетсе не такой уже и большой (8000х13000 - 40мб)
Ты издеваешься? :)
...
Рейтинг: 0 / 0
Создание картинок с большим разрешением на С#
    #38384450
evgeniy214
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо!!! <gcAllowVeryLargeObjects enabled="true" /> вот чего не хватало у меня.
Завтра протестирую на боевом серваке.
...
Рейтинг: 0 / 0
Создание картинок с большим разрешением на С#
    #38384846
Фотография Абсолют
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я может, что не понял, но под Bitmap'ом я подразумеваю адовые bmp файлы? Если это так, то почему не jpeg? Он же поменьше будет, вроде.
...
Рейтинг: 0 / 0
Создание картинок с большим разрешением на С#
    #38384876
evgeniy214
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Bitmap, это объект в System.Drawing
...
Рейтинг: 0 / 0
Создание картинок с большим разрешением на С#
    #38384896
evgeniy214
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблема не решена вывод был сделан поспешно...
var map = new Bitmap(65535, 65535); выдает ошибку.
...
Рейтинг: 0 / 0
Создание картинок с большим разрешением на С#
    #38384904
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что потом с полученым растровым изображением размером 16 GB планиреутся делать?
...
Рейтинг: 0 / 0
Создание картинок с большим разрешением на С#
    #38384910
evgeniy214
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Народ, вопрос не в том что делать с этим, а как это сделать. Мне не нужно 65535, но не получается и меньше сделать.
...
Рейтинг: 0 / 0
Создание картинок с большим разрешением на С#
    #38384925
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
evgeniy214,

видишь ли, GDI+ (которое за фасадом Bitmap) имеет ограничения.

Вопрос о том, что делать с полученным изображением - по существу. Формат для начала зависит
...
Рейтинг: 0 / 0
Создание картинок с большим разрешением на С#
    #38384932
evgeniy214
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
После создания он сохраняется в png, jpeg или tiff по выбору юзера, и там размер уже не такой огромный, не в гигабайтах
...
Рейтинг: 0 / 0
Создание картинок с большим разрешением на С#
    #38384958
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у вас реально памяти не меряно на машине? к примеру если формат PixelFormat.Format24bppRgb то
даже легкие подсчеты 32767 * 32767 * 24 (bits pr pixel) = 25768230936 bytes ~ 23гб
а если new Bitmap(60000, 60000, PixelFormat.Format1bppIndexed ) то жрет всего то 800мб и работает.
дефолтовый в конструкторе Bitmap PixelFormat32bppARGB, если что.

п.с. не важно что у вас потом файлы мелкие, в Bitmap все валяется без сжатия.
...
Рейтинг: 0 / 0
Создание картинок с большим разрешением на С#
    #38384987
evgeniy214
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Скажу так, на серваке 128Гб ОЗУ (добавляется гипервизором по мере потребления сервером), на нем создаются без проблем 8000х17000 картинки, на моей машине(4 Гб) тоже создаются. Исключение сыпятся не OutMemory... а недопустимый параметр при создании Bitmap
...
Рейтинг: 0 / 0
Создание картинок с большим разрешением на С#
    #38384988
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
handmadeFromRu,
упс криво подсчитал итоговый размер про new Bitmap(60000, 60000, PixelFormat.Format1bppIndexed).
...
Рейтинг: 0 / 0
Создание картинок с большим разрешением на С#
    #38384998
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
evgeniy214,
да я знаю что сыплется ошибка недопустимый параметр, а ты попробуй формат укажи какой я указал, 1 бит на пиксель и взлетит.
да и проверь доступно ли .net все эта память то? к примеру так
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
private static long GetAvailableMemory()
        {
            using (PerformanceCounter perfCounter = new PerformanceCounter("Memory", "Available Bytes"))
            {
                long availableMemory = Convert.ToInt64(perfCounter.NextValue());
                return availableMemory;
            }
        }
...
Рейтинг: 0 / 0
Создание картинок с большим разрешением на С#
    #38385027
evgeniy214
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Indexed не подходит, Graphics.FromImage() не работает с ним.
...
Рейтинг: 0 / 0
Создание картинок с большим разрешением на С#
    #38385030
evgeniy214
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
по памяти 3681607680
...
Рейтинг: 0 / 0
25 сообщений из 30, страница 1 из 2
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Создание картинок с большим разрешением на С#
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]