Balancer Опубликовано 9 Августа 2004 Жалоба Поделиться Опубликовано 9 Августа 2004 imagecopyresized, как и imagecopyresampled в PHP масштабируют достаточно отвратительно, хотя и быстро. Однако же, в большинстве систем установлен ImageMagick, который делает это с куда лучшим качеством и с дополнительными возможностями. Привожу тут пример, как поправить стандартную функцию масштабирования в iBF с целью работы с ImageMagick. Решение довольно грязное, т.к. в связи с таким переходом можно бы было избавиться от кучи ненужного кода, ввести поддержку любых поддерживаемых графических форматов (коих - десятки) и т.п., ну да фиг с ним, лень возиться Итак, ищем ips_kernel\class_image.php сигнатуру://----------------------------------------------- //Remove file extension... //----------------------------------------------- После неё находим строки: if ( function_exists( 'imagejpeg' ) ) { $this->file_extension = 'jpg'; @imagejpeg( $thumb, $this->out_file_dir."/".$this->out_file_name.'.jpg' ); @imagedestroy( $thumb ); вписываем после них: $cvt = "convert -geometry ".$im['img_width']."x".$im['img_height']."! -normalize -unsharp 1 ".$this->in_file_complete." ".$this->out_file_dir."/".$this->out_file_name.".jpg"; `$cvt`; находим чуть ниже: $this->file_extension = 'png'; @imagepng( $thumb, $this->out_file_dir."/".$this->out_file_name.'.png' ); @imagedestroy( $thumb ); вписываем: $cvt = "convert -geometry ".$im['img_width']."x".$im['img_height']."! -normalize -unsharp 1 ".$this->in_file_complete." ".$this->out_file_dir."/".$this->out_file_name.".png"; `$cvt`; Всё. До кучи, раз уж вызываем convert, прописал ему нормализацию изображений по яркости и увеличение резкости (unsharp). Вот, сравните тамбнейлы со стандартным и новым алгоритмом: http://balancer.ru/img/forums/1-1.jpghttp://balancer.ru/img/forums/1-2.jpg http://balancer.ru/img/forums/2-1.jpghttp://balancer.ru/img/forums/2-2.jpg http://balancer.ru/img/forums/3-1.jpghttp://balancer.ru/img/forums/3-2.jpg Предупреждение. При качестве JPEG по умолчанию в 75% новые тамбнейлы получаются в 2..3 раза больше по объёму. Если это критично - следует или понизить качество (-quality) или ввести сглаживание, или остаться на старом алгоритме. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
agel Опубликовано 1 Мая 2005 Жалоба Поделиться Опубликовано 1 Мая 2005 Вот этого мне и не хватало! Спасибо! Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Mystic Опубликовано 1 Мая 2005 Жалоба Поделиться Опубликовано 1 Мая 2005 Спасибо! Нужно будет заюзать ... Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.