![]() |
Модераторы: xvr |
![]() ![]() ![]() |
|
Alex13 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 280 Регистрация: 30.12.2005 Где: Новосибирск Репутация: нет Всего: 1 |
Добрый день!
Задача встала следующая. Я работаю над сжимающим прокси сервером и помоми компрессии страниц хочу еще реализовать ужатие изображений за счет понижения качества. Собственно встал вопрос, с помощью чего это сделать, чтобы это требовало минимум ресурсов. Поначалу думал в сторону imagemagick, но уж больно избыточен он для таких целей. Все, что мне требуется - это уметь понижать качество для gif, jpeg и png, поскольку они наиболее распространенные. Посоветуете какую-нибудь подходящую библиотеку? -------------------- Самая страшная ошибка - это ошибка, не имеющая явных причин и конкретных последствий. Антисоциальный блог. |
|||
|
||||
nickless |
|
|||
![]() Гентозавр ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2976 Регистрация: 29.8.2005 Где: Germany Репутация: 4 Всего: 181 |
Возможно будет достаточно специализированых библиотек libgif, libjpeg и libpng.
-------------------- ![]() Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies - Linus Torvalds |
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 20 Всего: 223 |
gif и png это форматы файлов с компрессией без потери качества, так что в них понижать нечего
![]() jpeg можно перепаковать |
|||
|
||||
nickless |
|
|||
![]() Гентозавр ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2976 Регистрация: 29.8.2005 Где: Germany Репутация: 4 Всего: 181 |
Потерь не было, но можно добавить, уменьшить количество цветов например, png можно еще сгладить, оно тогда сожмётся лучше. -------------------- ![]() Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies - Linus Torvalds |
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 20 Всего: 223 |
Можно, но для этого потребуются уже другие библиотеки (обработки изображений). Еще можно gif и png разжать и перепаковать в jpeg. Тогда других библиотек не понадобится ![]() |
|||
|
||||
Alex13 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 280 Регистрация: 30.12.2005 Где: Новосибирск Репутация: нет Всего: 1 |
Спасибо за ответы.
Менять формат картинок все-таки считаю не очень разумным, мало ли как это повлияет на отображение.
не подскажете, какие библиотеки это умеют? -------------------- Самая страшная ошибка - это ошибка, не имеющая явных причин и конкретных последствий. Антисоциальный блог. |
|||
|
||||
nickless |
|
|||
![]() Гентозавр ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2976 Регистрация: 29.8.2005 Где: Germany Репутация: 4 Всего: 181 |
Уменьшать цвета нужно при сохранении файла, соответствующей библиотекой. А чтобы сглаживать, ну imagemagick может ![]() -------------------- ![]() Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies - Linus Torvalds |
|||
|
||||
Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 3 Всего: 173 |
lossless оптимизацию PNG умеет утилита pngcrush.
lossy (с превращением полноцветной картинки в 8-битную с палитрой) — pngnq. Для GIF тоже может быть что-то подобное. -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
proc_maker |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 84 Регистрация: 11.11.2006 Репутация: 1 Всего: 1 |
jpeglib.h gif_lib.h libpng Создаете распаковщики для тех типов картинок которые будете пережимать, далее все пакуете в jpeg с нужным коэфициентом сжатия. Распаковка достаточно несложная в большинстве случаев. Далее - дело техники как подсунуть их вместо оригинальных клиенту. Надеюсь вычислительной мощности сервера хватит чтобы обслуживать желаемое кол-во клиентов ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Программирование под Unix/Linux" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |