Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Работа с огромными изображениями (80.000*42.000)


Navuh ©   (2007-11-06 11:33:00) 

Кто подскажет, чем склеивать изображения,чтобы получить например такого размера картинку 80.000*42.000?
с большим количеством цветов.

Фотошоп ограничение имеет до 30.000 :(


Sapersky   (2007-11-07 20:24:00) [1]

У PNG ещё 4 байта на размеры.


Pavia   (2007-11-07 19:58:00) [2]


> Давайте без аксиоммных выражений обойдемся :)

Ладно. Можно и без них. Раз уж такое задание, то конечно его надо сделать.
А что именно jpeg нужен?

Но тут одна маханькая проблема. Стандарт называется.
GIF, JPEG ограничиваю размеры в 2байта
максимальное значений 65535 так что у вас перебор.
Что касается BMP то там ограничение в 4 байта знаковое, то есть 2147483647. Правда там есть поле которое задет размер всего файла 4бата беззнаковое. 4ГБ у вас опять таки перебор. Но тут можно и забить на стандарт.

Совет я вам дал пишити сами модуль.


Sapersky   (2007-11-07 18:15:00) [3]

есть задача- надо сделать. и точка.

...а потом думать, чем бы открыть этого монстра (возможно, для вас это новость, но даже для элементарного отображения на экране нужна распаковка в bmp, со всеми вытекающими последствиями).


Sapersky   (2007-11-07 17:57:00) [4]

Для чего, собственно, будет использоваться этот гигантский файл? Может, в самом деле не стоит склеивать?

Если очень хочется, причём именно jpeg без перепаковки (с перепаковкой принципиальных отличий от bmp нет) - вот есть библиотека, которая помимо всего прочего может делать вырезание фрагмента из jpeg (т.н. lossless crop):
http://www.nomssi.de/pasjpeg/pasjpeg.html
Теоретически, значит, можно и склеить. Но практически - масса ограничений, например, размеры картинок, также как при вырезании, придётся округлить по границам DCT-блоков, от 8*8 до 16*16 пикселей (не говоря уже о том, что размеры блоков и прочие параметры у склеиваемых картинок должны совпадать).


Navuh   (2007-11-07 17:57:00) [5]


> Ее не целесобразность я уже объяснил выше.

Давайте без аксиоммных выражений обойдемся :)
"я обьяснил".. не люблю такого- не знаешь, так и скажи, а не начинай разглагольствовать почему так нельзя. Таких, кстати, программистов на западе гонят с работы. есть задача- надо сделать. и точка.

если бы не надо было - не делал бы. И целесообразность...палка о многих концах.

короче, есть обычная задача, склеить два файла, например.

Ворочать массивы..это гигабайты.

Даже если и сделать бмп-шку (что еще и не уверен что выйдет- памяти то надо..даже если писать прямо на диск), то ее потом сжать как-то надо..в jpg..а чем?
я, к  сожалению, с графикой совсем не работаю.
Помогите, кто может, советом. Заранее спасибо.


Pavia   (2007-11-07 15:13:00) [6]


> Гигабайтами ворочать :(

Вы сами себе придумали не нужную задачу. Ее не целесобразность я уже объяснил выше. Так что варочейти, кто вам запрещает? А если не хотите то делайте по уму.


> а про написание модуля- это я проходил лет 15 назад- велосипеды
> изобретал - у каждого тогда была своя библиотека менюшек
> - пока не появился клипер и турбо паскаль :)

Можите поискать может у кого-то такие же тараканы в голове как у вас. И он сделал для вас такую библеотеку. Но тут я уверен что у вас ничего не выйдет. На то мы и прогроаммисты когда нет готовой вещи нужно ее сделать. И не важно что это велосипед. Главное это цель.


Navuh   (2007-11-07 11:42:00) [7]


> Как по мне так BMP тут надо использовать. Формат простой.
>
> Можно и gif, jpg но модуль сам будешь писать.

Гигабайтами ворочать :(
а про написание модуля- это я проходил лет 15 назад- велосипеды изобретал - у каждого тогда была своя библиотека менюшек - пока не появился клипер и турбо паскаль :)


Pavia   (2007-11-06 19:35:00) [8]

А вообще в чем смысл склейки? Зачем это нужно? Может наоборот разбить?
Если честно, то не знаю зачем нужна склейка. Для вывода - так тут какраз разбить нужно. Для обработки? Уж больно самнительно наверника по частям обрабатываться будет быстрее. И не намного труднее реализовать чем целиком обрабатывать. Темболее всю картинку в память не загонишь.

Как по мне так BMP тут надо использовать. Формат простой.
Можно и gif, jpg но модуль сам будешь писать.


homm   (2007-11-06 16:26:00) [9]

> [3] Navuh ©   (06.11.07 16:22)
> Я имею ввиду gif

Картинка размером 80.000*42.000 пикселей в палитре 256 цветов. Круто, блин :)


Navuh   (2007-11-06 16:22:00) [10]


> Это что, 12,5 ГБ ?

Во-во, с бмп такое и будем иметь :(

Я имею ввиду gif, jpg IMHO тут надо использовать.
Бо иначе, конвертировать картинки (6 частей у меня) в бмп - с потерей качества -бо еще и качества они должны быть отличнейшего, а потом....

короче, кто бы подсказал какие функции-библиотеки для склейки...


WondeRu at work   (2007-11-06 11:59:00) [11]

Если формат BMP, то проблем нет, там обычная матрица


homm   (2007-11-06 11:37:00) [12]

> [0] Navuh ©   (06.11.07 11:33)
> чтобы получить например такого размера картинку 80.000*42.000?

Это что, 12,5 ГБ ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо