Прошу помощи по скрипту Get Image / 5$

[Удален]
394

1 скрипт


<?
if ($h==0){
$y = 0;
}else{
if (isset ($_GET['h'])) $y = $_GET['h'];
}

function thumb($path,$x,$y)
{

$t=getimagesize ($path) or die('Unknown type of image');

$with=$t[0];
if ($x == "")
$x = $with;

$height=$t[1];
switch ($t[2])
{
case 1:
$type='GIF';
$img=imagecreatefromgif($path);
break;
case 2:
$type='JPEG';
$img=imagecreatefromjpeg($path);
break;
case 3:
$type='PNG';
$img=imagecreatefrompng($path);
break;
}
if($y==0)
{$y=$x*($height/$with);}

header("Content-type: image/".$type);
$thumb=ImageCreateTrueColor($x,$y);

imagecopyresized($thumb,$img,0,0,0,0,$x,$y,$with,$height);
$thumb=imagejpeg($thumb);
return $thumb;
}

if ($id)
{
echo thumb($id,$w,$y);
}

?>

2 скрипт


define ("MAX_SIZE","1000");
define ("WIDTH","200");
define ("HEIGHT","150");
function make_thumb($img_name,$filename,$new_w,$new_h)
{
$ext=getExtension($img_name);
if(!strcmp("jpg",$ext) || !strcmp("jpeg",$ext))
$src_img=imagecreatefromjpeg($img_name);
if(!strcmp("png",$ext))
$src_img=imagecreatefrompng($img_name);
$old_x=imageSX($src_img);
$old_y=imageSY($src_img);
$ratio1=$old_x/$new_w;
$ratio2=$old_y/$new_h;
if($ratio1>$ratio2) {
$thumb_w=$new_w;
$thumb_h=$old_y/$ratio1;
}
else {
$thumb_h=$new_h;
$thumb_w=$old_x/$ratio2;
}
$dst_img=ImageCreateTrueColor($thumb_w,$thumb_h);
imagecopyresampled($dst_img,$src_img,0,0,0,0,$thumb_w,$thumb_h,$old_x,$old_y);
if(!strcmp("png",$ext))
imagepng($dst_img,$filename);
else
imagejpeg($dst_img,$filename);
imagedestroy($dst_img);
imagedestroy($src_img);
}
function getExtension($str) {
$i = strrpos($str,".");
if (!$i) { return ""; }
$l = strlen($str) - $i;
$ext = substr($str,$i+1,$l);
return $ext;
}
$errors=0;
if(isset($_POST['Submit']))
{
$image=$_FILES['image']['name'];
if ($image)
{
$filename = stripslashes($_FILES['image']['name']);
$extension = getExtension($filename);
$extension = strtolower($extension);
if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "png"))
{
echo '';
$errors=1;
}
else
{
$size=getimagesize($_FILES['image']['tmp_name']);
$sizekb=filesize($_FILES['image']['tmp_name']);
if ($sizekb > MAX_SIZE*2048)
{
echo '';
$errors=1;
}
$image_name=time().'.'.$extension;
$newname="../images/".$image_name;
$copied = copy($_FILES['image']['tmp_name'], $newname);
if (!$copied)
{
echo '';
$errors=1;
}
else
{
$thumb_name='../images/thumbs/thumb_'.$image_name;
$thumb=make_thumb($newname,$thumb_name,WIDTH,HEIGHT);
}} }}

С первым скриптом необходимо сделать что бы фото отображалось качественно ибо очень плохого качества получается + чтобы был "crop" тоесть обрезание картинки до нужного размера.

Со вторым скриптом необходимо чтобы на превьюхе был кропинг тоесть картинки были все одного размера например 100/80 не растянутые а обрезаные.

Всё без смены переменных чтобы все скрипты переписывать не пришлось.

Решение в личку + кошелек.

Плачу WMZ.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий