За последние 24 часа нас посетили 42483 программиста и 1816 роботов. Сейчас ищут 835 программистов ...

Ратация размера изаброжения

Тема в разделе "PHP для новичков", создана пользователем biryukovm, 29 мар 2018.

  1. biryukovm

    biryukovm Активный пользователь

    С нами с:
    15 окт 2015
    Сообщения:
    54
    Симпатии:
    1
    Привет всем
    Я уже голову сломал.

    Мне надо сохранить картинку в 3 размерах + происходит обрезка изображения
    Как это можно сделать у меня по коду следующее я указываю конкретные размеры и он мне дажи широкую картинку сужает в квадрат что по моим размерам

    Мне надо чтобы он вырезал и сохранил в нужном мне размере при этом подровнял высоту и ширину

    вот образец моего кода что у меня не так.
    Я работаю уже с сохраненой картинкой на сервере! и дальше содаю копии (код ниже)
    Код (Text):
    1.    
    2. $src=substr(clear_string($_POST["img"]),1);
    3. $jpeg_quality = 75;
    4. $w_src = imagesx(imagecreatefromjpeg($src));
    5. $h_src = imagesy(imagecreatefromjpeg($src));
    6.  
    7.     // вычисление пропорций
    8.     //$w_dest = round($w_src/($w_src/500));
    9.     //$h_dest = round($h_src/($h_src/500));
    10.  
    11.  
    12.  
    13.     // Создание standart
    14.     $targ_w =  435;
    15.     $targ_h = 500;
    16.     $dst_r = ImageCreateTrueColor($targ_w, $targ_h);
    17.     //$dst_r = ImageCreateTrueColor($w_dest, $h_dest);
    18.     imagecopyresampled($dst_r,imagecreatefromjpeg($src),0,0,clear_string($_POST['x']),clear_string($_POST['y']),$targ_w,$targ_h,clear_string($_POST['w']),clear_string($_POST['h']));
    19.     imagefill($dst_r, 0, 0, imagecolorallocate($dst_r, 255, 255, 255));
    20.     header('Content-type: image/jpeg');
    21.     imagejpeg($dst_r,$_SERVER['DOCUMENT_ROOT']."/img/product/".clear_string($_POST['id'])."_".$id_img."_max.jpg",$jpeg_quality);
    22.     imagedestroy($dst_r);
    23.  
    24.  
    25.     //$w_dest = round($w_src/($w_src/260));
    26.     //$h_dest = round($h_src/($h_src/300));
    27.     // Создание standart
    28.     $targ_w =  261;
    29.     $targ_h = 300;
    30.     $dst_r = ImageCreateTrueColor($targ_w, $targ_h);
    31.     //$dst_r = ImageCreateTrueColor($w_dest, $h_dest);
    32.     imagecopyresampled($dst_r,imagecreatefromjpeg($src),0,0,clear_string($_POST['x']),clear_string($_POST['y']),$targ_w,$targ_h,clear_string($_POST['w']),clear_string($_POST['h']));
    33.     imagefill($dst_r, 0, 0, imagecolorallocate($dst_r, 255, 255, 255));
    34.     header('Content-type: image/jpeg');
    35.     imagejpeg($dst_r,$_SERVER['DOCUMENT_ROOT']."/img/product/".clear_string($_POST['id'])."_".$id_img."_standart.jpg",$jpeg_quality);
    36.     imagedestroy($dst_r);
    37.    
    38.    
    39.     //$ratio = $w_src/175;
    40.     //$w_dest = round($w_src/$ratio);
    41.     //$h_dest = round($h_src/$ratio);
    42.     // Создание mini
    43.     $targ_w =  174;
    44.     $targ_h = 200;
    45.     $dst_r = ImageCreateTrueColor($targ_w, $targ_h);
    46.     //$dst_r = ImageCreateTrueColor($w_dest, $h_dest);
    47.     imagecopyresampled($dst_r,imagecreatefromjpeg($src),0,0,clear_string($_POST['x']),clear_string($_POST['y']),$targ_w,$targ_h,clear_string($_POST['w']),clear_string($_POST['h']));
    48.     imagefill($dst_r, 0, 0, imagecolorallocate($dst_r, 255, 255, 255));
    49.     header('Content-type: image/jpeg');
    50.     imagejpeg($dst_r,$_SERVER['DOCUMENT_ROOT']."/img/product/".clear_string($_POST['id'])."_".$id_img."_mini.jpg",$jpeg_quality);
    51.     imagedestroy($dst_r);
    52.  
    53.     @unlink($src);