Вниз
Скачать: CL | DM;

Фрагмент изображения   Найти похожие ветки 

← →
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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.011 c
1-87900
123456
2003-03-16 01:28
2003.03.27
Реестр


14-88237
AlLive
2003-03-05 02:07
2003.03.27
Прием отправка e-mail средствами Delphi 6


14-88217
Mike2003
2003-03-11 13:28
2003.03.27
Чем лучше просматривать HTML страницу?


3-87799
Atamali Mamedov
2003-03-06 15:18
2003.03.27
ORA-00600


6-88117
waterfoll
2003-02-06 13:46
2003.03.27
КАК УЗНАТЬ IP КОГДА МЫ В ИНТЕРНЕТЕ?




   Наверх