Webscript.hu - scriptgyűjtemény

  • A betűméret növelése
  • Alapértelmezett betűméret
  • A betűméret csökkentése

Kép átméretezése

E-mail Nyomtatás PDF
Képátméretezés

/*
*    @input: $filename - a méretezendő fájl neve és elérési útja (images/image.jpg)
*                   $dest - a mentendő fájl helye
*                   $width - szélesség px-ben
*                   $height - magasság px-ben
*                   $pictype - "thumb" vagy "". Ha thumb akkor a
* magasság és szélesség is kell, s a
* kép arányainak megfelelően kalkulál
*/



function resize($filename, $dest, $width, $height = "", $pictype = "")
{
$filename='frontend_images/headers/'.$filename;
$dest='frontend_images/headers/'.$dest;
$format = strtolower(substr(strrchr($filename,"."),1));
switch($format)
{
case 'gif' :
$type ="gif";
$img = imagecreatefromgif($filename);
break;
case 'png' :
$type ="png";
$img = imagecreatefrompng($filename);
break;
case 'jpg' :
$type ="jpg";
$img = imagecreatefromjpeg($filename);
break;
case 'jpeg' :
$type ="jpg";
$img = imagecreatefromjpeg($filename);
break;
default :
die ("ERROR; UNSUPPORTED IMAGE TYPE, format:".$format);
break;
}

list($org_width, $org_height) = getimagesize($filename);
$xoffset = 0;
$yoffset = 0;

if($height == "")
{
$height=$org_height / ($org_width / $width);
}

if ($pictype == "thumb")
{
if ($org_width / $width > $org_height/ $height)
{
$xtmp = $org_width;
$xratio = 1-((($org_width/$org_height)-($width/$height))/2);
$org_width = $org_width * $xratio;
$xoffset = ($xtmp - $org_width)/2;
}
elseif ($org_height/ $height > $org_width / $width)
{
$ytmp = $org_height;
$yratio = 1-((($width/$height)-($org_width/$org_height))/2);
$org_height = $org_height * $yratio;
$yoffset = ($ytmp - $org_height)/2;
}
} else {  
$xtmp = $org_width/$width;
$new_width = $width;
$new_height = $org_height/$xtmp;
if ($new_height > $height){
$ytmp = $org_height/$height;
$new_height = $height;
$new_width = $org_width/$ytmp;
}
$width = round($new_width);
$height = round($new_height);
}


$img_n=imagecreatetruecolor ($width, $height);
imagecopyresampled($img_n, $img, 0, 0, $xoffset, $yoffset, $width, $height, $org_width, $org_height);

if($type=="gif")
{
imagegif($img_n, $dest.'.'.$type);
}
elseif($type=="jpg")
{
imagejpeg($img_n, $dest.'.'.$type);
}
elseif($type=="png")
{
imagepng($img_n, $dest.'.'.$type);
}
elseif($type=="bmp")
{
imagewbmp($img_n, $dest.'.'.$type);
}

Return $dest.'.'.$type;
}

Módosítás dátuma: 2009. szeptember 14. hétfő, 16:48  

Bejelentkezés

Csoportok


Ki van még itt?

Oldalainkat 1 vendég böngészi

Stats

Tartalom találatai : 8810