Подскажите как с помощью imagemagick уменьшить ВЕС фоток?

12
AG
На сайте с 26.11.2009
Offline
68
1511

Есть сайт, на нем есть каталог, в каталоге есть превьюшки. Они делаются на данный момент функцией бибилиотечки gd (что то типа jpegimageresized) с quality=60, устраивают по весу, не устраивают по качеству (пережатый джипег не вызывает у клиента доверия к сайту и все такое:) ).

Поставили imagemagick. Встала проблема с тем как воспользоваться его возможностями на все 100%.

В инете есть куча подсказок как хитрым образом урезать фотки под нужный размер (с любого начального размера), а мне как раз надо другое - как урезать их, сохранив приличный вид и добившись минимального веса. Я в теории то понимаю что копать надо в сторону параметров noise, level, blur/sharpen ну и конечно filter разных, но походу лопата не тянет :( Может у кого есть что подсказать?

C
На сайте с 06.04.2009
Offline
13
#1

Решение в лоб: напишите скриптик, который сгенерит кучу копий одной фотки, но с разными параметрами сжатия и выберите приемлимый вариант.

http://www.weblancer.net/users/Tkachenko/ (http://www.weblancer.net/users/Tkachenko/)
Skom
На сайте с 02.12.2006
Offline
165
#2

Чем больше фильтров - тем больше вес.

Убирайте в превьюшках встроенные профили.

Например, для MagickWand.

MagickRemoveImageProfiles($handle);

Cras amet qui numquam amavit quique amavit cras amet
[Удален]
#3

Skom, спасибо за наводку. Не подскажете методы работы с png (там тоже встроенных профилей много) изображениями с imagemagic? Тема интересная, я никогда не пробовал, так как не было такого задания, но на будущее очень интересно.

Skom
На сайте с 02.12.2006
Offline
165
#4

Вот описание MagickWand http://www.imagemagick.org/MagickWandForPHP/

А профили всегда надо убирать. Они для веба вообще не нужны. Браузеры не понимают их (ну пока, по крайней мера). Единственное, что можно сохранить, то это exif поля, в надежде на некие преференции в ранжировании. Но для этого существуют всякие обходные пути :)

AG
На сайте с 26.11.2009
Offline
68
#5

camokat, а какие еще кроме noise, level стоит применять команды чтобы повысить качество пережатой фотки? ну это я к тому чтобы понимать по каким параметрам перебор писать.

[Удален]
#6

AliasGroup, unlink классно размер сокращает, попробуйте

T.R.O.N
На сайте с 18.05.2004
Offline
314
#7

AliasGroup, если вы о жпеге - то стоит почитать о формате, дабы понимать что для чего и как... рекомендую. перед тем как насиловать библиотеку, научитесь понимать и анализировать результаты.

Возьмите что-то типа AcdSee или Ulead SmartSaver и посжимайте фотки ей. все поймете.

T.R.O.N добавил 04.04.2010 в 22:15

bearman, мдя, простенько и эффективно, а главное - очень рессурсоэкономно

От воздержания пока никто не умер. Хотя никто и не родился! Prototype.js был написан теми, кто не знает JavaScript, для тех, кто не знает JavaScript (Richard Cornford)
[Удален]
#8
T.R.O.N:
простенько и эффективно, а главное - очень рессурсоэкономно

как вы любите :)

S_A_N_T_A
На сайте с 23.11.2009
Offline
154
#9

Я лично пользуюсь ACD see, сжимает хорошо и потеря качества не существенная

AG
На сайте с 26.11.2009
Offline
68
#10

"Возьмите что-то типа AcdSee или Ulead SmartSaver и посжимайте фотки ей. все поймете." - а откуда я узнаю КАК acdsee сжимает фотки? ну то есть как мне алгоритмику acdsee перенести в пхп файл, вызывающий imagemagick ?

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий