![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
BagmutA |
![]()
Сообщение
#1
|
Студент ![]() Группа: Участник Сообщений: 27 Регистрация: 13.4.2011 Пользователь №: 2599 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Созаю миниатюры изображений:
Самый медленый этап: im.load(filename); -- занимает 80-90% процетов времени на создание миниатюр. В общей сложности получается раза в 2-3 медленее чем это происходит в любом просмотрщике изображений(например Gwenview). Подскажите, пожалуйста, как можно ускорить этот процесс, как создавать миниатюры не загружая полностью изображение. |
|
|
![]() |
wiz29 |
![]()
Сообщение
#2
|
![]() Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 600 Регистрация: 7.7.2010 Из: Санкт-Петербург Пользователь №: 1866 Спасибо сказали: 94 раз(а) Репутация: ![]() ![]() ![]() |
Тогда нужно использовать конкретные библиотеки для чтения файлов графических форматов, например в JPEG могут хранится миниатюры, но не всегда они есть, поэтому придется загружать файл целиком (в случае когда нет миниатюры в файле). Это сэкономит время лишь в ряде случаев и не для всех типов форматов.
Если время создания миниатюр критично (например известно что они должны создаваться в основном для файлов фоток, в них как правило хранятся миниатюры) то используй libJPEG библиотеку для работы с jpeg'ом. в api libjpeg есть функции по загрузке миниатюр. Есть более общая либа, freeImage, она объединяет в себе несколько библиотек для чтения нескольких форматов файлов, на сколько универсально ее api не могу сказать, в моих проектах используются конкретные библиотеки для конкретных форматов. |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 23.7.2025, 3:17 |