Buenas a todos y MIL gracias por sus codigos.
Bueno, yo en esto son muy novato pero se sumar, restar, multiplicar y dividir!! (aunque no lo crean), entonces y le hice unas modificaciones para crear Thumbnails todos iguales sin desformar la imagen y además permitir especificar porcentaje de corte para crear el thumbnails.
Este es el codigo modificado:
Código PHP:
<?
/*
CORTAR "$cutpx" DE UNA IMAGEN
ANGEL ROYO 2002
*/
function tiempo(){
list($ms,$s)=explode(" ",microtime());
$t=($ms + $s);
return $t; /* Retorna el Tiempo en Segundos */
}/* Esta funcion se la agrege más nada para ver lo que se demora la PC */
function image_cut($src,$destino, $ancho_thumb, $alto_thumb, $porcentaje){
$size = getimagesize($src);/* Propiedades de la imagen */
$im=imagecreatefromjpeg($src); /*Tomo la imagen origen */
$img=imagecreate($ancho_thumb,$alto_thumb);/*[0] ANCHO, [1] ALTO, me creo una CANVAS, algo similar que en Firework*/
//lo que tengo que averiguar es la proporcion del thumb con respecto a la img orignal, entonces hago esto:
$suma_lados_or=$size[0]+$size[1]; //aca sumo los lados de la imagen original lado+lado
$suma_lados_des=$ancho_thumb+$alto_thumb; ///sumo los lados del thumb
$proporcion=$suma_lados_or/$suma_lados_des; //cualculo la proporcion del thumb con respecto al original
$final_proporcion=($porcentaje*$proporcion)/100; //ahora calculo la proporcion en la que voy a cortar la imgen original para crear luego el thumb segun el porcentaje que el usuario indico, en este caso es de 50%
$agrandar_ancho=$final_proporcion*$ancho_thumb; //calculo en pix's lo que debo agrandar de ancho
$agrandar_alto=$final_proporcion*$alto_thumb;// idem de alto
imagecopyresized($img, $im, 0, 0, $size[0]/2-$agrandar_ancho/2, $size[1]/2-$agrandar_alto/2, $ancho_thumb, $alto_thumb, $agrandar_ancho, $agrandar_alto); /* Copio en mi CANVAS la imagen $im en la dimensión que deseo, pero primero creo una imagen segun el porcentaje que se indico, luego calculo en centro de la imagen original y desde ahi corto el tamaño que deseo para luego crear el thumbnail*/
ImageJPEG($img,$destino,70); /*Exporto la CANVAS a JPG con 85% */
ImageDestroy($img); /* La Borro de la Cache */
/* El procedimiento es similar a usar un editor de imagenes */
}
$d=dir("empresa/"); /*Directorio con las imagenes de origen*/
$t0=tiempo();/* Opcional */
echo "Handle: ".$d->handle."<br/>\n";/* Opcional */
echo "Path: ".$d->path."<br/>\n";/* Opcional */
while($archivo=$d->read()) {/* Comienzo a leer la carpeta definida en dir */
if (eregi(".+.jpe?g$",$archivo)){
/* ES JPG o JPEG, por lo tanto aplicamos la funcion image_cut */
$img_fuente=$d->path.'/'.$archivo;
$img_destino='cortadas/'.$archivo;
image_cut($img_fuente,$img_destino,88,120,50); /*88 en el ancho del thumb, 120 es el alto y 50 esel porcentaje en que desea cortar la imagen original para crear el thumb */
}
echo $archivo."<br/>\n"; /* Muestra el nombre de los archivos */
}
$d->close(); /* Cierro */
$total=tiempo()-$t0;
echo "<br/>EL PROCESO TARDO: $total (s)";
?>
bueno, ya se que soy un desastre explicando, pero no es gran cosa y si alguno tiene consejos para hacerlo mejor que me lo haga saber!