All pastes #156383 Raw Edit

federicot

public php v1 · immutable
#156383 ·published 2006-08-31 18:39 UTC
rendered paste body
/* Esta funcion requiere GD 2.0.1 con soporte para creacion de gif */function resizeImage($origen, $destino, $width, $height){        $retorno   = false;        $iOriginal = false;        /* Obtengo la imagen original y creo la resizada y la final */        $size = getimagesize($origen);        switch ($size[2])        {                case 1: $iOriginal = imagecreatefromgif($origen);  break;                case 2: $iOriginal = imagecreatefromjpeg($origen);      break;                case 3: $iOriginal = imagecreatefrompng($origen);       break;        }        if($iOriginal){                $radio     = min(1, $width/$size[0], $height/$size[1]);                $iWidth    = $radio * $size[0];                $iHeight   = $radio * $size[1];                $posX      = ($width-$iWidth)/2;                $posY      = ($height-$iHeight)/2;                $iResizada = imagecreatetruecolor($iWidth, $iHeight);                $iFinal    = imagecreatetruecolor($width, $height);                /* Resizo, y lleno la imagen Final con el color de fondo */                imagecopyresampled($iResizada, $iOriginal, 0,0,0,0, $iWidth, $iHeight, $size[0], $size[1]);                $colorBlanco = imagecolorallocate($iFinal, 255, 255, 255);                imagefill($iFinal, 0,0, $colorBlanco);                /* Copio la imagen Resizada a la Final */                imagecopy($iFinal, $iResizada, $posX, $posY, 0, 0, $iWidth, $iHeight);                switch ($size[2])                {                        case 1: $retorno = imagegif($iFinal, $destino); break;                        case 2: $retorno = imagejpeg($iFinal, $destino, 85); break;                        case 3: $retorno = imagepng($iFinal, $destino); break;                }                imagedestroy($iResizada);                imagedestroy($iFinal);        }        return $retorno;}