Pluxfolio отображение превьюшек

Тема в разделе "Open Source", создана пользователем anadikt, 17 мар 2013.

Статус темы:
Закрыта.
Модераторы: Amazko, Aste
  1. anadikt

    anadikt

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

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

    Заранее благодарен
     
  2. bwc506

    bwc506

    Регистр.:
    30 авг 2007
    Сообщения:
    160
    Симпатии:
    107
    \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);
     
  3. anadikt

    anadikt

    Регистр.:
    29 янв 2010
    Сообщения:
    411
    Симпатии:
    66
    не помогло, также сжимает картинки как и раньше ...

    Может кто знает решение данной проблемы?
     
  4. anadikt

    anadikt

    Регистр.:
    29 янв 2010
    Сообщения:
    411
    Симпатии:
    66
    Как можно дописать код так, чтобы двигло вырезало в центре квадрат (размер граней должен быть равен наименьшей стороне фото) и дальше его сжимал уже до нужного размера??
     
  5. Astorian

    Astorian Писатель

    Регистр.:
    6 апр 2013
    Сообщения:
    2
    Симпатии:
    2
    Я бы предложил Вам полностью заменить функцию 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 
    $image imagecreatefromjpeg($filename);       
                            
    imagecopyresampled($image_p$image00$padx$pady$width$height$x$y );
                            
    imagejpeg$image_p$filename_out$quality );
                            break;
     
                case 
    $image imagecreatefromgif($filename);
                            
    imagesavealpha$image_ptrue );
                            
    $trans=imagecolorallocatealpha$image_p255255255);
                            
    imagefill$image_p00$trans );
                            
    imagecopy($image_p$image00$padx$pady$width$height);
                            
    imagegif$image_p$filename_out );
                            break;
         
                case 
    $image imagecreatefrompng $filename );
                            
    imagesavealpha$image_ptrue );
                            
    $trans=imagecolorallocatealpha$image_p255255255);
                            
    imagefill$image_p00$trans );
                            
    imagecopyresampled($image_p$image00$padx$pady$width$height$x$y );
                            
    imagepng$image_p$filename_out );
                            break;
         
                default : break;
            }
         
        }
     
    anadikt нравится это.
Статус темы:
Закрыта.