Помогите исправить ошибки
При загрузке аватара, его очень сильно растягивает
я читал на форуме, как это исправить и вот, что я нашел
Чтобы не ломать файл с системными функциями, создаем в папке include свой файл, в котором прописываем такую функцию:
В файле ActionSettings.class.php в методе protected function EventProfile() вызовы функций func_img_resize при загрузке аватар меняем на func_img_avatar.
Так вот первое я сделал, создал файл и все такое, а вот где мне найти «В файле ActionSettings.class.php в методе protected function EventProfile() вызовы функций func_img_resize при загрузке аватар меняем на func_img_avatar.»? Я полностью пролистал файл ActionSettings.class.php, но безрезультатно.Прошу Вас, пришлите мне скрины, как это исправить!
я читал на форуме, как это исправить и вот, что я нашел
Чтобы не ломать файл с системными функциями, создаем в папке include свой файл, в котором прописываем такую функцию:
<?php define('IMG_RESIZE_FIT', 0); // вписывание в квадрат (уменьшение по максимальной стороне) define('IMG_RESIZE_MAX', 1); // уменьшение по максимальной стороне define('IMG_RESIZE_MIN', 2); // уменьшение по минимальной стороне define('IMG_RESIZE_CROP', 3); // обрезка исходной картинки: // если W>H, то обрезка по бокам, если W<H, то снизу function func_img_avatar($sFileSrc, $sDirDest, $sFileDest, $iWidthMax, $iHeightMax, $iWidthDest=null, $iHeightDest=null, $iResizeMode=0) { if (!($aSize=getimagesize($sFileSrc))) { return false; } $img_src=false; switch ($aSize['mime']) { case 'image/png': $img_src=imagecreatefrompng($sFileSrc); $sFileDest.='.png'; break; case 'image/gif': $img_src=imagecreatefromgif($sFileSrc); $sFileDest.='.gif'; break; case 'image/jpeg': $img_src=imagecreatefromjpeg($sFileSrc); $sFileDest.='.jpg'; break; default: return false; break; } if (!$img_src) { return false; } if (($aSize[0]>$iWidthMax) or ($aSize[1]>$iHeightMax)) { return false; } if ($iWidthDest) {$iScaleW=$iWidthDest/$aSize[0];} else {$iScaleW=1;} if ($iHeightDest) {$iScaleH=$iHeightDest/$aSize[1];} else {$iScaleH=1;} if ($iResizeMode==IMG_RESIZE_MAX) { $iSizeRelation=(($iScaleW<$iScaleH)?$iScaleW:$iScaleH); $iWidthNew=round($aSize[0]*$iSizeRelation); $iHeightNew=round($aSize[1]*$iSizeRelation); $iSizeW=$iWidthNew; $iSizeH=$iHeightNew; $iDestX=0; $iDestY=0; } elseif ($iResizeMode==IMG_RESIZE_MIN) { $iSizeRelation=(($iScaleW>$iScaleH)?$iScaleW:$iScaleH); $iWidthNew=round($aSize[0]*$iSizeRelation); $iHeightNew=round($aSize[1]*$iSizeRelation); $iSizeW=$iWidthNew; $iSizeH=$iHeightNew; $iDestX=0; $iDestY=0; } elseif ($iResizeMode==IMG_RESIZE_CROP) { $iSizeRelation=(($iScaleW>$iScaleH)?$iScaleW:$iScaleH); $iWidthNew=round($aSize[0]*$iSizeRelation); $iHeightNew=round($aSize[1]*$iSizeRelation); $iSizeH=$iSizeW=(($iWidthNew<$iHeightNew)?$iWidthNew:$iHeightNew); $iDestX=round(($iSizeW-$iWidthNew)/2); $iDestY=0; } else { $iSizeRelation=(($iScaleW<$iScaleH)?$iScaleW:$iScaleH); $iWidthNew=round($aSize[0]*$iSizeRelation); $iHeightNew=round($aSize[1]*$iSizeRelation); $iSizeH=$iSizeW=(($iWidthNew>$iHeightNew)?$iWidthNew:$iHeightNew); $iDestX=round(($iSizeW-$iWidthNew)/2); $iDestY=round(($iSizeH-$iHeightNew)/2); } $sFileFullPath=DIR_SERVER_ROOT.'/'.$sDirDest.'/'.$sFileDest; @func_mkdir(DIR_SERVER_ROOT,$sDirDest); if ($iWidthDest and $iWidthDest!=$aSize[0]) { $img_dest=imagecreatetruecolor($iSizeW,$iSizeH); imagesavealpha($img_dest,true); imagealphablending($img_dest,false); if (imagecopyresampled($img_dest, $img_src, $iDestX, $iDestY, 0, 0, $iWidthNew, $iHeightNew, $aSize[0], $aSize[1])) { imagedestroy($img_src); switch ($aSize['mime']) { case 'image/png': if (imagepng($img_dest,$sFileFullPath)) { chmod($sFileFullPath,0666); } break; case 'image/gif': if (imagegif($img_dest,$sFileFullPath)) { chmod($sFileFullPath,0666); } break; case 'image/jpeg': if (imagejpeg($img_dest,$sFileFullPath)) { chmod($sFileFullPath,0666); } break; } imagedestroy($img_dest); return $sFileDest; } } else { if (copy($sFileSrc,$sFileFullPath)) { return $sFileDest; } } return false; } ?>
В файле ActionSettings.class.php в методе protected function EventProfile() вызовы функций func_img_resize при загрузке аватар меняем на func_img_avatar.
Так вот первое я сделал, создал файл и все такое, а вот где мне найти «В файле ActionSettings.class.php в методе protected function EventProfile() вызовы функций func_img_resize при загрузке аватар меняем на func_img_avatar.»? Я полностью пролистал файл ActionSettings.class.php, но безрезультатно.Прошу Вас, пришлите мне скрины, как это исправить!
5 комментариев
в галерее, фотография 1 очень сильно растянута, в то время, как она должна стоять на месте 2, обратно симметрично фотографии 3