Como hacer “thumbnails” de tus fotografias
Categorias: PHP
PHP, junto con la librería GD, permiten la creación y manipulación de imágenes en tiempo real con gran facilidad y lograr unos resultados de una calidad más que aceptable.
Dependiendo de la versión de PHP y la librería GD, es posible crear y manipular imágenes de tipo JPEG, GIF, PNG y WBM, aunque en las últimas versiones no hay soporte para gráficos de tipo GIF. Para saber que formatos soporta tu instalación de PHP solo tienes que ejecutar el siguiente script:
Al ser el más complejo (o al menos completo) de realizar, haremos una función para redimensionar y ajustar la calidad de imágenes JPEG. Crear una función similar para imágenes PNG o WBMP debería resultaros sencillo.
La función recibe 5 parámetros:
- Localización completa de la imagen original.
- Localización completa de la nueva imagen, es decir, el “thumbnail” que vamos a crear.
- Calidad o compresión de la nueva imagen. Los valores posibles van de 0 (peor calidad, mayor compresión) a 95 (mejor calidad, menor compresión).
- Anchura de la nueva imagen en pixels.
- Altura de la nueva imagen en pixels.
A propósito de la calidad de las imágenes, debemos tener en cuenta que si la calidad de la imagen original era de por ejemplo el 75% y si especificamos que la calidad de la imagen redimensionada sea del 85%, la calidad de esta no mejorara, se mantendrá igual y solo conseguiremos incrementar el tamaño en bytes de la imagen. Por lo tanto, antes de aplicar esta función a una imagen debemos conocer su calidad actual.
Siguiendo con el mismo tema, los valores de calidad o compresión que se le puede aplicar a una imagen JPEG van del 0% al 95%. Lo lógico sería que fueran del 0% al 100%, pero por algún extraño motivo, la imagen resultante de una compresión del 97% es idéntica a la imagen comprimida al 95%.
A continuación puedes ver la función redimensionar_jpeg() y su aplicación:
Ahora no tienes más que aplicar la función a cada una de las imágenes que desees redimensionar. También existe la posibilidad de ampliar la funcionalidad del script y hacer que este redimensione todas las imágenes de un directorio concreto. Por ejemplo, ejecutar el siguiente script en un directorio redimensionaría todas las imágenes de tipo JPEG del mismo:
-
4 comentarios | Escriba su comentario
1. WILFREDO | 02/08/2006 22:55
necesito como editar la imagen no solo redimensionarla sino editarla en tiempo real desde el servidor agradesco su ayuda
2. webmaster | 16/08/2006 03:13
Hola Wilfredo,
Lamento decierte que no podemos ayudarte mucho en lo que quieres hacer. En este artículo explicamos como redimensionar una imagen utilizando la librería GD, incluida en PHP y disponible para otros muchos lenguajes de programación.
La librería GD ofrece muchas funciones que permiten añadir capas a la imagen, redimensionarla, escribir cosas encima, etc. En realidad, te da todo o casi todo lo que necesitas para “editar una imagen”. Hay otras librerías de manipulación de imagenes como el ImageMagick que ofrecen las mismas funciones y otras. Tal vez te resulten de mayor ayuda.
De todas formas, si lo que quieres es ofrecer al usuario la posibilidad de editar imagenes desde el navegador, tendrás que utilizar mucho código JavaScript que “identifique la acción que el usuario quiere hacer” y luego envie esa acción a una aplición instalada en el servidor que la ejecute.
Te adelanto que no será fácil de hacer.
Un saludo!
3. Leandro | 13/10/2006 18:55
Quería saber si la funcion de redimencionamiento de imágenes soporta imágenes grandes (de dos o tres megas por ejemplo) ya que yo tengo una aplicación hecha (sin restringir el tamaño) que si le subo archivos de mas de 800k no hace nada.
4. alvaro | 19/10/2006 18:37
hola,soy nuevo en esto y estoy haciendo una pagina dodnde debe salir un indice con fotografias pequeñas y luego al seleccionarla que se abra la fotografia con su tamaño original…. he tratado de hacer funcionar el codigo pero no me resulta… me podrias explicar detalladamente como hacerlo (que paginas crear, como llamarla desde la pagina que quiero que se visualice, etc) las fotos que quiero mostrar son subidas por los usuarios y se alojan en una carpeta que se llama upload
Escribir comentario
Los comentarios son propiedad y responsabilidad de sus autores. Los comentarios fuera de tópico y el spam serán removidos. Los e-mails se mantienen privados y no se publican ni utilizan para otros efectos que los de validación. Aparte de eso, sean bienvenidos a comentar.
Trackback este artículo | Suscibase a los comentarios con RSS Feed