Форум: "Основная";
Текущий архив: 2003.03.27;
Скачать: [xml.tar.bz2];
ВнизФрагмент изображения Найти похожие ветки
← →
Alexander Vasjuk (2003-03-13 19:34) [0]Мастера, для вас вопрос.
Имеется огромный графический файл. Очень долго грузится.
Необходимо просмотреть его очень маленький фрагмент.
Есть ли для этого быстрый способ?
Желательно конечно оставить его в сжатом формате (TIFF, JPEG), а то развернутый займет пару гигов. Впрочем, главное быстродействие, и если большой размер будет единственной возможностью, ускорения, пусть будет так.
← →
Alexander Vasjuk (2003-03-13 19:42) [1]А?
← →
kDenis (2003-03-13 19:59) [2]А у меня похожая ситуация назревает... (в смысле, ответ я пока не искал)
У меня битмэп 32x2240 в переменную TBitMap загружается...
Нужно разбить его на куски размером 32x32 и поместить в отдельные переменные...
← →
kDenis (2003-03-13 20:56) [3]Что в этот раз? Никто не знает, или всем надоело обяснять?
← →
MBo (2003-03-13 22:06) [4]>Alexander Vasjuk
Какие Windows?
← →
Jeer (2003-03-14 00:43) [5]Alexander Vasjuk (13.03.03 19:34)
Сам подумай.
Сжатие - своего рода перемешивание. Чтобы выделить часть первоначального из сжатого, надо сжатое привести в первоначальный вид, а для этого, как правило, нужно оперировать всем объемом.
← →
MBo (2003-03-14 07:06) [6]Наилучший imho способ - порезать картинку на куски и хранить отдельные файлы - если сделать куски размером в максимально возможный показываемый фрагмент, то понадобится подгружать максимум 4 файла. При этом можно и в сжатом формате хранить.
Второе - хранить битмап или DIB (подозреваю, что изменяться он ччасто не будет, так что заголовок можно хранить отдельно) , читать из файла нужные кусочки строк, копируя их в небольшой битмап для показа.
← →
OxOTHuK (2003-03-14 07:17) [7]а будет ли рационально в нескольких потоках читать определенные части картинки??
И как читать из битмапа строки? я пока себе плохо представляю.
← →
MBo (2003-03-14 07:55) [8]>OxOTHuK
1) Нерационально
2) изучи структуру битмапа. Исходники VCL помогут
← →
Alexander Vasjuk (2003-03-14 14:07) [9]Огромное спасибо откликнувшимся!
Продолжаем разговор...
MBo © (13.03.03 22:06)
98, 2000 и ХР
Jeer © (14.03.03 00:43)
Я понимаю, что сжатие это искажение. Но может есть способ неполной раскодировки...
MBo © (14.03.03 07:06)
Это мой дежурный вариант (хранить фрагменты раздельно и по 4 клеить ипоказывать).
Некрасиво, согласись. Хотя реализабельно.
OxOTHuK (14.03.03 07:17)
Рационально в разных потоках на мультипроцессорных системах.
А читать легко - несжатый битмап есть образ массива.
Но будет ли это быстро работать?
Надо попробовать.
MBo © (14.03.03 07:55)
Проще сделать raw данные и работать как файлом прямого доступа.
Итак. Пока реальны 2 способа:
1. Разбить изображение на много сжатых картинок.
2. Построчно тянуть из битмапа нужный фрагмент.
Никаких больше предложений (в т.ч. бредовых) не будет?
Нечто среднее. Чтоб и файл маленький и достать быстро...
← →
Alexander Vasjuk (2003-03-14 14:49) [10]Забыл моленькую деталь.
Фрагменты могут отличаться по размеру (масштаб)
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.03.27;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.007 c