Funcion en PHP para escalar imagenes

/**********************************
Funcion para escalar imagenes
-----------------------------
$original = Ruta y nombre de la imagen original
$nombre = Ruta y nombre de la nueva imagen (si no se coloca imprime la imagen nuava directamente al explorador)
$maxA = Maximo ancho de la nueva imagen
$calidad = La calidad con la que se generara la nueva imagen (0-100)
************************************/
function imagenEscalar($original, $nombre, $maxA, $calidad) {
	$src=@imagecreatefromjpeg($original);
	if(!$src){
		return false;
	}else{
		$srcw=imagesx($src);
		$srch=imagesy($src);
		if($srcw<$srch){
			$height=$maxA;
			$width=floor($srcw*$height/$srch);
		}else{
			$width=$maxA;
			$height=floor($srch*$width/$srcw);
		}
		if ($width>$srcw && $height>$srch){
			$width=$srcw;
			$height=$srch;
		}
		$thumb=imagecreatetruecolor($width, $height);
		if($height<100){
			imagecopyresized($thumb, $src, 0, 0, 0, 0, $width, $height, imagesx($src), imagesy($src));
		}else{
			imagecopyresampled($thumb, $src, 0, 0, 0, 0, $width, $height, imagesx($src), imagesy($src));
		}
		imagejpeg($thumb, $nombre);
		return true;
	}
}

Esta funcion es solo para imagenes jpeg pero no es dificil agregar los otros tipos de imagenes.

Deja un comentario