En este ejemplo veremos cómo obtener de manera sencilla información sobre una imagen en PHP, específicamente su ancho y su alto de manera que podamos manipular nuestra imagen de manera sencilla en nuestra aplicación. Así que pongámonos manos a la obra para poder calcular el alto y ancho de una imagen en PHP.
PHP nos recomienda el método getimagesize()
la cual determinará el tamaño de un archivo de imagen dado y devolverá las dimensiones junto con el tipo de archivo y una cadena de texto con el alto/ancho para ser usada dentro una etiqueta IMG
de HTML normal y el tipo de contenido HTTP correspondiente.
getimagesize()
también puede devolver alguna información más con el parámetro imageinfo. A continuación veremos como obtener información sobre la imagen:
<?php $file = "logo.png"; // Dirección de la imagen $imagen = getimagesize($file); //Sacamos la información $ancho = $imagen[0]; //Ancho $alto = $imagen[1]; //Alto echo "Ancho: $ancho"; echo "Alto: $alto"; ?>
El retorno de la función getimagesize()
es un array, el cual dependiendo de la posición, contiene una información u otra. Así en la posición 0 tenemos el ancho y en la posición 1 tenemos el alto.
Sin embargo también podemos obtener más información de la imagen como por ejemplo su tipo: JPG, PNG,…:
list($width, $height, $type, $attr) = getimagesize("imagen.jpg"); echo "Ancho de imagen: " .$width; echo ''; echo "Alto de imagen: " .$height; echo ''; echo "Tipo de imagen: " .$type; echo ''; echo "Atributos: " .$attr;
Los tipos de imagen que podemos encontrar en $type son:
1 = GIF | 5 = PSD | 9 = JPC | 13 = SWC |
2 = JPG | 6 = BMP | 10 = JP2 | 14 = IFF |
3 = PNG | 7 = TIFF | 11 = JPX | 15 = WBMP |
4 = SWF | 8 = TIFF | 12 = JB2 | 16 = XBM |
Además la documentación de PHP nos da mas referencias acerca del procesamiento de imágenes, algunas funciones que nos ofrece son:
- getimagesizefromstring — Obtener el tamaño de una imagen desde una cadena
- image_type_to_extension — Obtiene la extensión de un tipo de imagen
- image_type_to_mime_type — Obtiene el tipo Mime de un tipo de imagen devuelto por getimagesize, exif_read_data, exif_thumbnail, exif_imagetype
- image2wbmp — Exportar la imagen al navegador o a un fichero
- imagealphablending — Establece el modo de mezcla para una imagen
- imageantialias — Permite o no el uso de funciones antialias
- imagearc — Dibujar un arco
- imagechar — Dibujar un carácter horizontalmente
- imagecharup — Dibujar un carácter verticalmente
- imagecolorallocate — Asigna un color para una imagen
- imagecolorallocatealpha — Asigna un color con transparencia para una imagen
- imagecolorat — Obtener el índice del color de un píxel
Para consultar mas métodos puedes visitar la documentación de procesamiento de imágenes en PHP en http://php.net/manual/es/book.image.php
Esperemos que os haya servido de utilidad este ejemplo para saber como poder calcular el alto y ancho de una imagen en PHP.