Quiero implementar un código que me permita redimencionar una imagen o todas las imágenes de un directorio, en donde se le pasan 2 argumentos que son:
argumento 1: nombre de la imagen o directorio.
argumento 2: el width solamente.
En donde si como argumento 1 se le pasa el nombre de imagen entonces la redimenciona, si se le pasa un directorio entonces redimenciona todas.
En donde como argumento 2 es el width deseado, si el width es mayor a la dimencion real de la imagen, entonces no se redimenciona, si sobre pasa, entonces se redimenciona pero utilizando niveles porcentuales. Vaya, si la imagen real es de: 500x850 y deseamos un width de 120, entonces el height lo calculamos en base a la reducción en porcentaje que sufrio el width de 800. Quedando una imagen de 120x204.
Mi código realiza todo el proceso solo que no me genera la imagen en si

Aqui un Screenshot
Código
<?php function crear_imagen( $formato, $archivo ) { return $img; } # redimenciona una o varias imagenes que este dentro de un directorio # obtenido mediante el argumento y estableciendo las dimencion deseada o aproximada function redimencionar_imagen( $data, $sizeall ) { { $dir= $data; { { $new= $nombre. '_resized.'. $tipo; # nuevo nombre con tag y extensión $img= crear_imagen( "image/". $tipo, $dir.$buf ); # creamos imagen apartir de la principal $w= $size[0]; # extraemos width $h=$size[1]; # extraemos height # si es menor a la dimencion de thumbnails requerida if( $w<=$sizeall ) { $width= $w; $height= $h; } else # entonces es mayor, se redimenciona { $extract= $w-$sizeall; # obtenemos los pixeles que se quitaran a la dimencion original $porcentaje= ($extract*100)/$w; # obtenemos porcentaje que se le reducira al width original $width= $sizeall; # establecemos width deseado $height= $h-(($h*$porcentaje)/100); # obtenemos dimencion height segun la reduccion del porcentaje } imprimir_imagen( $thumb, "image/".$tipo, 0, $dir.$new, 100 ); # creamos imagen } } } else # entonces es un archivo, redimencionamos la imagen { $buf= $data; # copiamos para usar el mismo code de arriba $new= $nombre. '_resized.'. $tipo; # nuevo nombre con tag y extensión $img= crear_imagen( "image/". $tipo, $buf ); # creamos imagen apartir de la principal $w= $size[0]; # extraemos width $h=$size[1]; # extraemos height # si es menor a la dimencion de thumbnails requerida if( $w<=$sizeall ) { $width= $w; $height= $h; } else # entonces es mayor, se redimenciona { $extract= $w-$sizeall; # obtenemos los pixeles que se quitaran a la dimencion original $porcentaje= ($extract*100)/$w; # obtenemos porcentaje que se le reducira al width original $width= $sizeall; # establecemos width deseado $height= $h-(($h*$porcentaje)/100); # obtenemos dimencion height segun la reduccion del porcentaje } # obtenemos el directorio $dir=''; # recorremos arreglo excluyendo el ultimo valor para dar con el directorio real $dir .= $x[$i]; # concatenamos imprimir_imagen( $thumb, "image/".$tipo, 0, $dir.$new, 100 ); # creamos imagen } } ?>
Código
<?php function imprimir_imagen( $img, $formato, $modo, $url, $calidad ) { if( $modo==1 ) //se mostrara al tiempo header_imagen( $formato ); //entonces si modo es 0 no se imprime, se GUARDA return 0; } ?>