Ver Mensaje Individual
  #3 (permalink)  
Antiguo 30/03/2008, 20:10
franco190453
 
Fecha de Ingreso: abril-2006
Mensajes: 1.128
Antigüedad: 18 años, 1 mes
Puntos: 33
Re: Dimenciones de imagenes para crear un Thumbnail

LeandroA:
Este codigo lo utilizo para cortar una imagen basado en porcentaje del 0%
al que se desea. Asimismo la puedo reducir y crear un "thumbnail" del tamaño que yo quiera puede ser de 156 x 156 pixeles , de 200 x 200 pixeles, etc. Finalmente le he diseñado dos lineas rojas como marcos alrededor de la imagen para que luzca presentable.
Espero te sirva.
Estudialo bien y lo adaptas a tus necesidades.
<?php
//Tu Imagen
$imagen = 'papa.jpg';
//Obtener las dimensiones
list($ancho, $alto, $type, $attr) = getimagesize($imagen);
//Guardando la imagen en la memoria(Para Manipular con las librerias GD)
$miimagen = imagecreatefromjpeg($imagen);
//Estableciendo lo que queremos cortar de la imagen
if($ancho > $alto) {
$ladomasalto = "$ancho";
}else {
$ladomasalto = "$alto";
}
//Le vamos a quitar el 10% del lado mas grande
$reducirporcentage = 0.95;
$reducirancho = $ladomasalto*$reducirporcentage;
$reduciralto = $ladomasalto*$reducirporcentage;
//Obtenemos la coordenada del lado arriba-izquierdo
$coordenadas = array("x"=>(($ancho-$reducirancho)/2), "y"=>(($alto-$reduciralto)/2));
//Creamos el Thumbnail
$tamanothumb = 156;
$thumbnail = imagecreatetruecolor($tamanothumb, $tamanothumb);
imagecopyresampled($thumbnail, $miimagen, 0, 0, $coordenadas['x'], $coordenadas['y'], $tamanothumb, $tamanothumb, $reducirancho, $reduciralto);
//Creando las lineas
$anchodelinea = 2;
$margen = 0;
//Usar el photoshop para ver las variables con los colores correspondientes.
$verde = imagecolorallocate($thumbnail, 193, 0, 0); //Rojo=($thumbnail, 255, 0, 0)Blanco=255,255,255 Negro=0,0,0
for($i=0; $i<2; $i++){
//Linea izquierda
imagefilledrectangle($thumbnail, $margen, $margen, $margen+$anchodelinea, $tamanothumb-$margen, $verde);
//Linea derecha
imagefilledrectangle($thumbnail, $tamanothumb-$margen-$anchodelinea, $margen, $tamanothumb-$margen, $tamanothumb-$margen, $verde);
//Linea de arriba
imagefilledrectangle($thumbnail, $margen, $margen, $tamanothumb-$margen-$anchodelinea, $margen+$anchodelinea, $verde);
//Linea de abajo
imagefilledrectangle($thumbnail, $margen, $tamanothumb-$margen-$anchodelinea, $tamanothumb-$margen-$anchodelinea, $tamanothumb-$margen, $verde);
$margen+=4;
}
//Salido Final
imagejpeg($thumbnail, "papax.jpg");
imagedestroy($thumbnail);
echo "<img src=\"papax.jpg\">";
?>

Saludos
Y espero te ayude
Franco