[Помощь] Pluxfolio отображение превьюшек

Статус
В этой теме нельзя размещать новые ответы.

anadikt

Гуру форума
Регистрация
28 Янв 2010
Сообщения
435
Реакции
86
Здравствуйте, подскажите, пожалуйста, может кто работал с движком pluxfolio и сталкивался с такой проблемой: при загрузке картинок (например 800х600 рх) движок делает превьюшки, но сжимает их, и изображения на превьюшка получаются ужасные - сжатые ...

Как сделать так, чтобы двиг брал от исходной картинки в середине квадратную картинку и делал превью???

Заранее благодарен
 
\core\lib\class.plx.utils.php
строка 296:
заменить
Код:
if($type == 2) imagejpeg($im, $file, '80');
на
Код:
if($type == 2) imagejpeg($im, $file, '100');

строка 270:
заменить
Код:
imagejpeg($image_p, $filename_out, $quality);
на
Код:
imagejpeg($image_p, $filename_out, 100);
 
Как можно дописать код так, чтобы двигло вырезало в центре квадрат (размер граней должен быть равен наименьшей стороне фото) и дальше его сжимал уже до нужного размера??
 
Я бы предложил Вам полностью заменить функцию makeThumb,
\core\lib\class.plx.utils.php
строка ~252

PHP:
    function makeThumb($filename, $filename_out, $width, $height, $quality, $thumbtype) {
 
        # Informations sur l'image
        list($width_orig,$height_orig,$type) = getimagesize($filename);
 
        $padx = 0;
        $pady = 0;     
        if ($width_orig > $height_orig) {
            $y = $height_orig;
            $x = $width * ( $y > $height ? $y/$height : $height/$y );
            $padx = ($width_orig - $x) / 2;
        }
        if ($width_orig < $height_orig) {
            $x = $width_orig;
            $y = $height * ( $x > $width ? $x/$width : $width/$x );
            $pady = ($height_orig - $y) / 2;
        }
        if ($width_orig == $height_orig) {
            $x = $width_orig;
            $y = $height_orig;
        }
     
        $image_p = imagecreatetruecolor($width,$height);
        switch( $type ) {
            case 2 : $image = imagecreatefromjpeg($filename);       
                        imagecopyresampled($image_p, $image, 0, 0, $padx, $pady, $width, $height, $x, $y );
                        imagejpeg( $image_p, $filename_out, $quality );
                        break;
 
            case 1 : $image = imagecreatefromgif($filename);
                        imagesavealpha( $image_p, true );
                        $trans=imagecolorallocatealpha( $image_p, 255, 255, 255, 0 );
                        imagefill( $image_p, 0, 0, $trans );
                        imagecopy($image_p, $image, 0, 0, $padx, $pady, $width, $height);
                        imagegif( $image_p, $filename_out );
                        break;
     
            case 3 : $image = imagecreatefrompng ( $filename );
                        imagesavealpha( $image_p, true );
                        $trans=imagecolorallocatealpha( $image_p, 255, 255, 255, 0 );
                        imagefill( $image_p, 0, 0, $trans );
                        imagecopyresampled($image_p, $image, 0, 0, $padx, $pady, $width, $height, $x, $y );
                        imagepng( $image_p, $filename_out );
                        break;
     
            default : break;
        }
     
    }
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху