Publicando mi Primer Paquete para Composer: Image Generator

Publicando mi Primer Paquete para Composer: Image Generator

Hace unos días me encontré con lo que se estaba convirtiendo en algo rutinario, buscar en un proyecto “antiguo” un par de clases que me sirven para generar imágenes con el título/texto del post y una imagen de stock o también para generar stories de Instagram con la foto de un post y el título. Al volver a copiar la clase pensé, ¿por qué no hago un paquete y lo gestiono como una dependencia y me dejo de copiar y pegar?

La idea era tener estas funcionalidades encapsuladas en un paquete. Nunca había hecho esto, así que me puse manos a la obra y empecé a buscar “cómo publicar un paquete de composer?” y ahí empezó la magia, es verdaderamente fácil y te invito a compartir tus propias utilidades con el resto de la comunidad.

No esperes una funcionalidad ultra compleja, es algo básico pero que me salva en muchos proyectos a la hora de generar las portadas para los posts de forma programática.

El paquete para generar imagenes con php lo puedes encontrar en packagist o directamente en el repositorio de github

¿Cómo generar imagenes programáticas con php?

Si necesitas hacer algo parecido a lo que digo arriba esta puede ser la herramienta que buscas. Para usarla debes añadir la dependencia dvillodres/image-generator, esto puedes hacer con composer require dvillodres/image-generator

La dependencia es muy sencilla de usar, Image e ImageConfig, la primera solo tiene expuesto un método estático ::create() que recibe como parámetro una instancia de la segunda.

En ImageConfig podemos acceder a tres named constructors ::postCover(), ::igStory() y ::square() cada uno de ellos nos proveen una configuración básica para generar nuestras imágenes.

use DVillodres\ImageGenerator\Image;
use DVillodres\ImageGenerator\ImageConfig;

Image::create(
    ImageConfig::postCover(
        'img-path/test.jpg',
        'Lorem ipsum dolor sit amet, consectetur adipiscing elit.',
        'example.com',
        color: '#ffffff',
        textColor: '#55b8ff',
        imgURL: 'https://images.pexels.com/photos/792416/pexels-photo-792416.jpeg'
    )
);

Con el fragmento de código anterior obtendremos una imagen como la siguiente.

Ejemplo de imagen creada con la dependencia dvillodres/image-generator

Espero que encuentres útil esta pequeña herramienta para generar imágenes programáticas en tus proyectos. Si tienes sugerencias, preguntas o encuentras algún problema, ¡estaré encantado de escucharte!

Este es solo el comienzo, ya que planeo seguir mejorando y agregando características interesantes. Gracias por ser parte de esta comunidad y por tu interés en el paquete.

Nota: Este proyecto fue inspirado por el trabajo de Dantsu/php-image-editor para llegar versión simplificada que cumpla con mis necesidades concretas.

Autor: Daniel Villodres

Desarrollador Web

Daniel Villodres, desarrolador web