Toda tuya
Código PHP:
<?php
#################################### clase crear imagenes #######################################
class createImg{
var $imagen;//nombre de la imagen cargada
var $ext;//extension nueva imagen cargada
var $ancho;//ancho de nueva imagen (metodo escala)
var $alto;//alto de nueva imagen (metodo escala)
function __construct($ruta){
if(file_exists($ruta)){
$this->imagen=$ruta;
}else{
echo "Ruta de Imagen Incorrecta";
}
}
function resizeImg($newName,$width,$height){
$tamanio=getimagesize($this->imagen);
$this->ancho=$tamanio[0];
$this->alto=$tamanio[1];
$imagenRedim=imagecreatetruecolor($width,$height);
list($nombre,$extension)=explode(".",$this->imagen);
$this->ext=$extension;
if(empty($newName)){
$newName=$nombre;
}
echo "<br /><b>Nombre de la Imagen Original:</b> ".$this->imagen."<br /><br />";
echo "<b>Nombre de la Imagen Transformada:</b> ".$newName.".".$this->ext."<br /><br />";
echo "<u>Tamaño de la Imagen Original:</u><br />Ancho--> ".$tamano[0]."<br />Alto---> ".$tamano[1]."<br /><br />";
echo "<u>Tamaño de la Imagen Transformada:</u><br />Ancho--> ".$width."<br />Alto---> ".$height."<br /><br />";
if(strtolower($this->ext)=="jpg" or strtolower($this->ext)=="jpeg"){
$crear=imagecreatefromjpeg($this->imagen);
imagecopyresampled($imagenRedim,$crear,0,0,0,0,$width,$height,$this->ancho,$this->alto);
imagejpeg($imagenRedim,$newName.".jpg",100);
echo "Formato---> jpg<br />";
imagedestroy($crear);
}else if(strtolower($this->ext)=="png"){
echo "Formato---> png<br />";
$crear=imagecreatefrompng($this->imagen);
imagecopyresampled($imagenRedim,$crear,0,0,0,0,$width,$height,$this->ancho,$this->alto);
imagepng($imagenRedim,$newName.".png");
imagedestroy($crear);
}else if(strtolower($this->ext)=="gif"){
echo "Formato---> gif<br />";
$crear=imagecreatefromgif($this->imagen);
imagecopyresampled($imagenRedim,$crear,0,0,0,0,$width,$height,$this->ancho,$this->alto);
imagegif($imagenRedim,$newName.".gif");
imagedestroy($crear);
}else{
echo "<b><font color='red'>El nombre o extension de la imagen es Incorrecto</font></b>";
}
}//----------------------------------> fin metodo de redimension
function scaleImg($newName,$percent){
#Esta funcion mantiene la relacion de aspecto o sea, da un multiplo del area de la imagen original
#echo "<br /><b>Nombre de Imagen:</b> ".$this->imagen."<br />";
$tamanio=getimagesize($this->imagen);
$this->ancho=$tamanio[0];
$this->alto=$tamanio[1];
#Redimension
$finalWidth=$this->ancho*$percent;
$finalHeight=$this->alto*$percent;
$imgEscalada=imagecreatetruecolor($finalWidth,$finalHeight);
list($noSirve,$sirve)=explode(".",$this->imagen);
$this->ext=$sirve;
if(strtolower($this->ext)=="jpg" or strtolower($this->ext)=="jpeg"){
#echo "Formato---> jpg<br />";
$crear=imagecreatefromjpeg($this->imagen);
imagecopyresampled($imgEscalada,$crear,0,0,0,0,$finalWidth,$finalHeight,$this->ancho,$this->alto);
imagejpeg($imgEscalada,$newName.".jpg",100);
}else if(strtolower($this->ext)=="png"){
#echo "Formato---> png<br />";
$crear=imagecreatefrompng($this->imagen);
imagecopyresampled($imgEscalada,$crear,0,0,0,0,$finalWidth,$finalHeight,$this->ancho,$this->alto);
imagepng($imgEscalada,$newName.".png");
}else if(strtolower($this->ext)=="gif"){
#echo "Formato---> gif<br />";
$crear=imagecreatefromgif($this->imagen);
imagecopyresampled($imgEscalada,$crear,0,0,0,0,$finalWidth,$finalHeight,$this->ancho,$this->alto);
imagegif($imgEscalada,$newName.".gif");
}
}//-----------------------> fin metodo scaleImg
function __destruct(){
echo "<br /><b>Fin de Transformaciones</b><br />";
}
}//###########################################################################> fin class crearImg
?>
Te deje los 2 metodos el de redimension y el de escala...
Y aca va un ejempo de uso:
Código PHP:
<?php
#__classes.php es el archivo de arriba
include("__classes.php");
$imagen=new createImg("[ruta de la imagen con extension y todo]");
$imagen->scaleImg("[nuevo nombre de la imagen]",[factor de escala]);
?>
PD: gracias por el karma =P