![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
z-END |
|
|||
![]() прафесар™ ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3014 Регистрация: 13.3.2003 Где: Венья, Пиетари Репутация: 11 Всего: 102 |
Имеется ли какая-нить возможность получить превью картинки?
Я делаю это очень коряво, т.е. загружаю картинку целиком, а затем ужимаю то необходимого размера, но при больших размерах картинок (по несколько тыс. пискелей)а также их большом количестве этот процесс занимает огромную уйму времени, напорядок больше чем в ACDSee. -------------------- Каждый чилавек пасвоему праф...а памоему НЕТ! |
|||
|
||||
El Guapo |
|
|||
Unregistered |
Не загрузив картинку целиком - нельзя, конечно. Откуда же тогда взять превью? Этого изображения больше нигде нет.
Но что вы называете "ужимаю"? Процедуру StretchDraw? Она конечно, медленнее. А если просто установить свойства Stretch и Proportional у TImage в true, то получается вовсе не медленней ACDSee. Во всяком случае, у меня на машине так. |
|||
|
||||
z-END |
|
|||
![]() прафесар™ ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3014 Регистрация: 13.3.2003 Где: Венья, Пиетари Репутация: 11 Всего: 102 |
Proportional я и ставлю...
Расскажу поподробней: имеется компонент типа TreeView к которому прицеплен ImageList (100x100) далее есть процедура которая проходит по заданному дереву каталогов и строит его в TreeView, и соответсвенно добавляет картинку в ImageList, но добавляется она так: Создается (runtilme) TImage в которое загружается картинка, затем его размеры меняю на 100х100 и Proportional:=true; после чего создаю (runtime) TBitmap куда копирую (CopyRect) TImage.Graphic и уже этот TBitmap добавляю в ImageList. Собственно эта часть мне больше всего и ненравится... Вот я и подумал что можно попроще как-то сделать -------------------- Каждый чилавек пасвоему праф...а памоему НЕТ! |
|||
|
||||
p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
Тут день назад Illusion Dolphin что-то творил с превьюингом картинок. Как я понял, он работал с большим количеством картинок (4000), тоже ужимал их до 100x100. Может он с тобой поделится опытом ?...
-------------------- С уважением, г-н Посол. |
|||
|
||||
El Guapo |
|
|||
Unregistered |
Нет, менять размеры TImage вовсе не нужно! Нужно его Graphic "перерисовать" в TBitmap с помощью StretchDraw
У меня получилось. Попробуйте, будет ли так быстрее? |
|||
|
||||
Dynamic |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 372 Регистрация: 5.7.2004 Где: Салехард Репутация: 12 Всего: 15 |
Посмотрите этот компонент
Описание:
ЗЫ. Сам не пользовался (пока). -------------------- Было бы о чем молчать, а уж что сказать – всегда найдется... |
|||
|
||||
GRU |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 20.7.2004 Репутация: 1 Всего: 1 |
mne eta tema tozhe aktualna. V Photoshop'e FileBrowser ochen bystro pakazyvaet preview'u kartinki. Interesno po kakomu prinsipu on rabotaet. Ved sperva sasdaiot bystro ochen malenkie grubye kartinki, i tolko patom, pavtorno, ix "utachnaet", atkryvaet uzhe normalnovo kachestvo.
|
|||
|
||||
Illusion Dolphin |
|
||||||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1198 Регистрация: 3.5.2003 Репутация: 36 Всего: 63 |
Долго бился над проблемой, чтобы добится результата не намного хуже, чем в специализированных программах. Делал почти то же самое, что и nJIaKca.spb и сразу скажу вот что...
Тут есть подводные грабли ![]() ![]()
При загрузке JPEG файлов теперь времени тратится будет во мнооого раз меньше. С BMP и другими так не проходит 8(. Остальные файлы придётся всё равно грузить сначала полностью, прорисовывать на битмапе и потом уменьшать. В связи с этим вот ешё несколько функций для "качественного уменьшения":
Первая хороша при небольших размерах картинки, там лучше происходит уменьшение и по быстродействию она не отличается от второй (при малых картинках, т.е. до 1000х1000). Вторая хороша при большом коэффициенте уменьшения и быстрее на больших картинках (при маленьких происходит значительное размытие конечной картинки). Поэтому в конце концов я это использовал практически так:
Прошу ваши комментарии и поправки. Добавлено @ 12:36 Да:
-------------------- В мире всего две бесконечности: вселенная и человеческая глупость... На счёт вселенной я не уверен. Шифрование и организация фотографий - Photo Database 4.5 |
||||||||||
|
|||||||||||
z-END |
|
|||
![]() прафесар™ ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3014 Регистрация: 13.3.2003 Где: Венья, Пиетари Репутация: 11 Всего: 102 |
Illusion Dolphin спасибо код твой потом посмотрю, ща времени нет.
Но вот что хочу заметить
я использовал JEDI (TJvImageList) 150x150x24bit в нем 1600 (с копейками) картинок+к этому этот ImageList сохранял и загружал все работает ![]() ЗЫ еще че заметил, при добавлении заранее извесного кол-ва картинок очеь стоит AllocBy уставить равному этому кол-ву (тогда добавлеется все намного быстрее) -------------------- Каждый чилавек пасвоему праф...а памоему НЕТ! |
|||
|
||||
Illusion Dolphin |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1198 Регистрация: 3.5.2003 Репутация: 36 Всего: 63 |
Такого не слышал, если честно, да и стараюсь посторонние компоненты у себя в проектах не использовать... Поэтому про жутко долго не знаю ничего, да и AllocBy мне не к чему... всё сдулал ручками ![]() -------------------- В мире всего две бесконечности: вселенная и человеческая глупость... На счёт вселенной я не уверен. Шифрование и организация фотографий - Photo Database 4.5 |
|||
|
||||
z-END |
|
|||
![]() прафесар™ ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3014 Регистрация: 13.3.2003 Где: Венья, Пиетари Репутация: 11 Всего: 102 |
Illusion Dolphin ссори за небольшой офф-топ, но JEDI это не сторонние компоненты, это комопненты созданные независимыми програмиствами под руководством Borland, для примера можешь в Дельфях нахать хелп, и удерживая Alt набери JEDI и видишь все сам
![]() -------------------- Каждый чилавек пасвоему праф...а памоему НЕТ! |
|||
|
||||
Illusion Dolphin |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1198 Регистрация: 3.5.2003 Репутация: 36 Всего: 63 |
А где взять JEDI (TJvImageList)?
-------------------- В мире всего две бесконечности: вселенная и человеческая глупость... На счёт вселенной я не уверен. Шифрование и организация фотографий - Photo Database 4.5 |
|||
|
||||
z-END |
|
|||
![]() прафесар™ ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3014 Регистрация: 13.3.2003 Где: Венья, Пиетари Репутация: 11 Всего: 102 |
Illusion Dolphin отдельно его взять наверно неполучится, компонент является частью пакета JEDI, сам он халявно скачивается, есть много где, например тут
правда с установокой я бился пару суток, но поверь это того стоит=) -------------------- Каждый чилавек пасвоему праф...а памоему НЕТ! |
|||
|
||||
GRU |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 20.7.2004 Репутация: 1 Всего: 1 |
a как класс TQuickPixels?
|
|||
|
||||
Guest |
|
|||
Unregistered |
GRU:
Если я не ошибаюсь, то его аналог дан в моём примере StretchCool, а ещё более быстрая работа - в QuickReduce |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |