Marca de Agua y Resize. Clases para imágenes en PHP
Este post trata sobre dos funciones útiles para el tratamiento de imágenes con PHP. “Marca de Agua” y “Resize”. Iré agregando otras funciones más adelante, como por ejemplo el efecto “Polaroid”, “Rotate”, Texto a imágen, etc.
Al final del tutorial encontrarán los archivos del ejemplo para descargarlo.
1 – Marca de Agua
Para generar una imágen con “marca de agua” incluimos el archivo ImagenFachada.php
require_once 'ImagenFachada.php';
Luego llamamos al método estático “crearMarcaAgua()” de la clase ImagenFachada, enviándole los parámetros necesarios para la imágen y almacenamos el resultado en una variable ($img):
$img = ImagenFachada::crearMarcaAgua(array(
'imgOriginal' => 'imagenes/marcaAgua/oldboy.jpg',
'imgMarcaAgua' => 'imagenes/marcaAgua/marcaAgua.png',
'imgNueva' => 'imagenes/marcaAgua/nuevo.jpg',
'posicion' => 7,
'calidad' => 100
));
Los parámetros:
Se envía como parámetro un arreglo que contiene la información necesaria para generar la imágen con “marca de agua”.
“imgOriginal” = Ruta/Nombre de la imágen que será marcada
“imgMarcaAgua” = Ruta/Nombre de la imágen que hará de marca de agua
“imgNueva” = Ruta/Nombre de la imágen resultante
“posicion“ = Parámetro opcional. Posición de la marca de agua sobre la imágen original (1-7).
Los valores que puede tomar son:
1 = Marca de agua centrada sobre la imágen original (valor por defecto).
2 = Marca de agua sobre la esquina superior izquierda en la imágen original.
3 = Marca de agua sobre la esquina superior derecha en la imágen original.
4 = Marca de agua en el centro superior sobre la imágen original.
5 = Marca de agua sobre la esquina inferior izquierda en la imágen original.
6 = Marca de agua sobre la esquina inferior derecha en la imágen original.
7 = Marca de agua en el centro inferior sobre la imágen original.
Por último el parámetro “calidad”. También es opcional, y por defecto toma el valor 100 (1 – 100).
En el ejemplo se pueden ver las diferentes posiciones que toma la imágen “marca de agua” sobre la imágen original.
En la imágen 1 el parámetro “posición” lleva el valor 2, en la imágen 2 lleva el valor 6, y en la imágen 3 lleva el valor 1 (valor por defecto).
Finalmente, imprimimos la imágen resultante (imprimimos la variable $img, que invoca al método “__toString()” de la clase ImgMarcaAgua).
echo "<img src='{$img}'>";
2 – Resize
Invocamos al método estático “redimensionar()” de la clase ImagenFachada, enviándole los parámetros necesarios para la imágen y almacenamos el resultado en una variable ($img):
$img = ImagenFachada::redimensionar(array(
'imgOriginal' => 'imagenes/resize/battlestar_galactica.jpg',
'imgNueva' => 'imagenes/resize/resize.jpg',
'ancho' => 150,
'alto' => 150,
'tipoResize' => 1,
'calidad' => 100
));
Los parámetros:
Se envía como parámetro un arreglo que contiene la información necesaria para redimensionar la imágen.
“imgOriginal” = Ruta/Nombre de la imágen que será redimensionada.
“imgNueva” = Ruta/Nombre de la imágen resultante.
“ancho” = Ancho deseado para la imágen.
“alto” = Altura deseado para la imágen.
“tipoResize” = Parámetro Opcional. Determina el tipo de redimensión (1-2). Valor por defecto = 1.
1 = Redimensiona la imágen manteniendo la relación de aspecto, es decir teniendo en cuenta el ancho y el alto originales.
2 = Redimensiona la imágen sin mantener la relación de aspecto, es decir se respeta el ancho y el alto enviados como parámetros. Por ej: envío 150 x 100, es eso lo que obtendré.
“calidad” = Parámetro opcional. Calidad de la imágen redimensionada resultante (1 -100). Valor por defecto 100.
En el ejemplo se ven las imágenes redimensionadas de las dos maneras junto con la imágen original.
Finalmente, imprimimos la imágen resultante (imprimimos la variable $img, que invoca al método “__toString()” de la clase ImgResize).
echo "<img src='{$img}'>";
Entradas Aleatorias
¿Disfrutaste esta entrada? Por qué no dejas un comentario abajo y continúas la conversación, o te suscribes a mi feed y obtienes artículos como este enviados a tu lector de feeds.




Comentarios
No hay comentarios todavía.
Deja un Comentario