Sábado, 20 de Marzo del 2010

Tagline gratis de hoy: Hogar es el sitio donde tu ordenador vive y dirige tu vida (Chrome Cowboy)

 
Inicio Descargas Foros Tu Cuenta Web Links  
Crear Una Cuenta
Menú Principal
Inicio (Noticias):
 Inicio
 Enviar Noticia
 Mapa de Noticias
 Noticias en Tu Web
 Noticias Destacadas
 Archivo de Noticias
 Búscar
 Topicos
Miembros:
 Lista de Usuarios
 Tu Cuenta
 Diario de Usuarios
 Mensaje Privados
 Comunidad:
 Foros de Aclantis
 Recetas de Cocina Gratis
 Juegos Gratis
 AvantGo de Descargas
 Buscar en Google
 Webs Amigas
 Bromas y Chistes
 Trucos de Juegos
 Trucos de Informática
 Guías y Análisis de Juegos
 Publicidad y Intercambios
 Referirnos
 Contáctenos
  Web Links
 
  Descargas
 
Estadísticas:
 Estadísticas
 Site Map
 Top 20
 Encuestas
Documentaciones:
 Artículos
 Agregar a Favoritos
 Herramientas WebMasters
 FAQ De Aclantis
Recomendados


Noticias recientes
Jueves, 26 noviembre
· Wikipedia crece en visitantes mientras sus voluntarios se marchan
Miércoles, 25 noviembre
· Twitter se plantea salir a bolsa y comprar nuevas empresas
· Los usuarios desconectados de la Xbox Live demandarán a Microsoft
· ¿Será Avatar el gran fiasco de la temporada?
· Como la web recopila nuestros datos personales
· Advierten sobre peligroso gusano para iPhone
· Ya es posible probar el sistema operativo Chrome OS
Martes, 24 noviembre
· SAW te regala su videojuego a cambio de tu peor pesadilla
· Twitter cambia su pregunta y ahora dice ¿Qué está pasando?
· Aparece el primer virus para el iPhone que permite controlar el celular a distan

Artículos Viejos
Como generar un Thumbnail (imagen pequeña) en PHP usando GD

(653 palabras totales en este texto)
(4592 Lecturas)   Versión Imprimible




Como generar un Thumbnail (imagen pequeña) en PHP usando GD

Antes que nada avisar que se requieren las librerías GD para poder realizar los thumbnails. Y en función de la versión de GD, podremos usar una u otra función

Primero pegaré el código de una función con la que generaremos directamente un thumbnail de alta calidad.

PHP:

function thumbjpeg($imagen,$altura) {

     // Lugar donde se guardarán los thumbnails respecto a la carpeta donde está la imagen "grande".
     $dir_thumb "thumbs/";

     // Prefijo que se añadirá al nombre del thumbnail. Ejemplo: si la imagen grande fuera "imagen1.jpg",
     // el thumbnail se llamaría "tn_imagen1.jpg"
     $prefijo_thumb "tn_";
     $camino_nombre=explode("/",$imagen); 

     // Aquí tendremos el nombre de la imagen.
     $nombre=end($camino_nombre);

     // Aquí la ruta especificada para buscar la imagen.
     $camino=substr($imagen,0,strlen($imagen)-strlen($nombre));

     // Intentamos crear el directorio de thumbnails, si no existiera previamente.
     if (!file_exists($camino.$dir_thumb))
          mkdir ($camino.$dir_thumb0777) or die("No se ha podido crear el directorio $dir_thumb");

     // Aquí comprovamos que la imagen que queremos crear no exista previamente
     if (!file_exists($camino.$dir_thumb.$prefijo_thumb.$nombre)) {
          echo $camino.$dir_thumb.$prefijo_thumb.$nombre." NO existía<br>n";
          $img imagecreatefromjpeg($camino.$nombre) or die("No se encuentra la imagen $camino$nombre<br>n");

          // miramos el tamaño de la imagen original...
          $datos getimagesize($camino.$nombre) or die("Problemas con $camino$nombre<br>n");

          // intentamos escalar la imagen original a la medida que nos interesa
          $ratio = ($datos[1] / $altura);
          $anchura round($datos[0] / $ratio);

          // esta será la nueva imagen reescalada
          $thumb imagecreatetruecolor($anchura,$altura);

          // con esta función la reescalamos
          imagecopyresampled ($thumb$img0000$anchura$altura$datos[0], $datos[1]);

          // voilà la salvamos con el nombre y en el lugar que nos interesa.
          imagejpeg($thumb,$camino.$dir_thumb.$prefijo_thumb.$nombre);
     }
}


Para llamar a la función sencillamente hacer:

PHP:

thumbjpeg($imagen125);


En este caso, '$imagen', es la imagen que queremos reducir, y '125', es la altura en píxeles que queremos que tenga la imagen reducida, de modo que el ancho quede proporcionado respecto a la imagen original.

Con la instrucción “or die()” se mostrará en pantalla el mensaje entrecomillado solo en el caso de que fallara la primera sentencia de la línea.

NOTAS:

Si en lugar de GD2 disponemos de GD1, no podremos utilizar la función imagecopyresampled() y deberíamos conformarnos con la función imagecopyresized() , que utiliza los mismos parámetros, lo malo es que ésta última da como resultado una imagen de calidad más pobre. A cambio, es mucho más rápida que la anterior.

Así si tenemos GD2, podemos usar la que más nos interese, si queremos CALIDAD y no nos importa el número de ciclos consumidos en el servidor,

imagecopyresampled();

en caso contrario:

imagecopyresized();

Si lo que queremos es crear imágenes "al vuelo", sin guardarlas en ningún archivo (cosa poco recomendable si usamos la función de más calidad), el segundo parámetro de la función imagejpeg() no se debe de poner, quedando la llamada en el scritp que hay más arriba:

PHP:

imagejpeg($thumb);


Bueno, démonos cuenta que este script solo sirve para reducir imágenes de tipo JPEG, no de otro, para otros formatos, tan solo habría que cambiar un par de funciones por las correspondientes en los formatos que nos interesen.

Ejemplo:

imagecreatefromjpeg() por imagecreatefrompng() o imagecreatefromwbmp() o etc.

y

imagejpeg() por imagepng() o imagewbmp() o etc.

Basilio Vera.
Cualquier pregunta: manualesvarios@lycos.es


Fuente:
Forosdelweb.com

  

[ Volver PHP | Índice de las Secciones ]
Theme Design By Aclantis Hosting    Powered By PHP-Nuke

ZaKaTRoN Caratulandia.net Aclantis AclantisAclantis Aclantis
AclantisAclantis AclantisAclantisAclantis Aclantis

Inicio | Top 20 | Articulos | Descargas | Noticias - © (2000 - 2008) - Aclantis by Draving - Contactanos 



[ Script generation time: 0.2058s (PHP: 83% - SQL: 17%) ] - [ SQL queries: 38 ] - [ Pages served in past 5 minutes : 196 ] - [ GZIP disabled ] - [ Debug off ]