Помогите с кодом

Обсуждение серверного программирования.

Модераторы: Duncon, Yurich

Ответить
seric
Сообщения: 7
Зарегистрирован: 02 ноя 2015, 08:26

17 июл 2016, 15:15

РЕБЯТА ЗНАЧИТ ПРОБЛЕМА В ЧЕМ В СТИЛЯХ ДЕЛАЮ РАЗМЕР ФОТО БОЛЬШЕ ПОЛУЧАЕТСЯ РАЗМЫТАЯ, В PHP НИЧЕГО НЕ ПОНИМАЮ ПО ЭТОМУ И ОБРАЩАЮСЬ К СПЕЦИАЛИСТАМ, ПОДСКАЖИТЕ ЧТО НАДО В КОДЕ ПОМЕНЯТЬ ЧТО ЧТО БЫ НЕ ФОТО РАЗМЫТЫМ
Вот код

function img_resize($src,$dest,$width,$tolarge,$bgcolor,$ext,$imgwidth,$imgheight,$logomerge){

if(!file_exists($src))return false;

$icfunc="imagecreatefrom".$ext;

if(!function_exists($icfunc))return false;

if($tolarge!='1' && $imgheight<$width)$width=$imgheight;

$x_ratio=$width/$imgheight;

$y_ratio=$width/$imgwidth;

$ratio=min($x_ratio,$y_ratio);

$use_x_ratio=($x_ratio==$ratio);

$new_width=$use_x_ratio?$width:floor($imgheight*$ratio);

$new_height=!$use_x_ratio?$width:floor($imgwidth*$ratio);

$isrc=$icfunc($src);

if($bgcolor!=0){

$new_left=$use_x_ratio?0:floor(($width-$new_width)/2);

$new_top=!$use_x_ratio?0:floor(($width-$new_height)/2);

$nn_width=$nn_height=$width;

$bgc=$bgcolor;

}else{

$new_left=0;

$new_top=0;

$nn_width=$new_width;

$nn_height=$new_height;

$bgc=0xFFFFFF;

}

$idest=imagecreatetruecolor($nn_width,$nn_height);

imagefill($idest,0,0,$bgc);

imagecopyresampled($idest,$isrc,$new_left,$new_top,0,0,$new_width,$new_height,$imgheight,$imgwidth);

if($logomerge=="1"){

$mergelogo=$_SERVER['DOCUMENT_ROOT'].$GLOBALS['p']."/images/logo_merge/logoj.gif";

if(file_exists($mergelogo)){

$size_logo=getimagesize($mergelogo);

if($size_logo[2]==1)$logo=imagecreatefromgif($mergelogo);

elseif($size_logo[2]==2)$logo=imagecreatefromjpeg($mergelogo);

elseif($size_logo[2]==3)$logo=imagecreatefrompng($mergelogo);

if(@$logo){

if($nn_width>($size_logo[0]+50)&&$nn_height>($size_logo[1]+50)){

$coordmerge_x=$nn_width-($size_logo[0]+20);

$coordmerge_y=$nn_height-($size_logo[1]+20);

imagecopymerge($idest,$logo,$coordmerge_x,$coordmerge_y,0,0,$size_logo[0],$size_logo[1],100);

}} else {return false;}

} else {return false;}

}

if($ext=="gif")imagegif($idest,$dest);

elseif($ext=="png")imagepng($idest,$dest);

else imagejpeg($idest,$dest,100);

imagedestroy($isrc);

imagedestroy($idest);

return true;
Ответить