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