Tutorial del Proyecto Laravel WebP

La estructura de directorios del proyecot Laravel WebP es la siguiente:

laravel-webp/
├── config/
│   └── webp.php
├── src/
│   ├── Webp.php
│   └── ...
├── tests/
│   └── ...
├── .editorconfig
├── .gitattributes
├── .gitignore
├── composer.json
├── LICENSE
├── README.md
└── phpunit.xml

Descripción de directorios

  • config/: Alberga los archivos de configuración del proyecto.
  • src/: Contiene los archivos principales del código fuente.
  • tests/: Incluye los archivos de pruebas del proyecto.
  • .editorconfig: Configuración del editor.
  • .gitattributes: Configuración de atributos de Git.
  • .gitignore: Archivos ignorados por Git.
  • composer.json: Archivo de gestión de dependencias de Composer.
  • LICENSE: Licencia del proyecto.
  • README.md: Documentación del proyecto.
  • phpunit.xml: Configuración de pruebas PHPUnit.

2. Archivo de inicio del poryecto

El archivo principal de inicio es src/Webp.php, el cual contiene la lógica fundamental para la conversión de imágenes a formato WebP. A continuación se muestra un ejemplo parcial del código:

<?php

namespace MiEmpresa\ConversorWebp;

use Illuminate\Http\UploadedFile;
use Intervention\Image\Facades\Image;

class ConversorImagen
{
    protected $archivo;

    public function __construct(UploadedFile $archivo)
    {
        $this->archivo = $archivo;
    }

    public static function crear(UploadedFile $archivo)
    {
        return new self($archivo);
    }

    public function exportar($rutaSalida, $calidad = 80)
    {
        $imagen = Image::make($this->archivo);
        return $imagen->encode('webp', $calidad)->save($rutaSalida);
    }
}

Descripción del archivo de inicio

  • Clase ConversorImagen: Encargada de gestionar la conversión de imágenes al formato WebP.
  • Método crear: Enstancia un nuevo objeto de la clase ConversorImagen.
  • Método exportar: Guarda la imagen convertida en formato WebP, permitiendo especificar la calidad de la imagen.

3. Archivo de configuración del proyecto

El archivo de configuración se encuentra en config/webp.php. A continuación se presenta un ejemplo del contenido:

<?php

return [
    'driver' => env('WEBP_DRIVER', 'gd'),
    'quality' => env('WEBP_QUALITY', 80),
];

Descripción del archivo de configuración

  • driver: Define el controlador de procesamiento de imágenes a utilizar. Por defecto se emplea gd.
  • quality: Establece la calidad de la imagen WebP generada. El valor predeterminado es 80.

Mediante esta configuración es posible ajustar de manera flexible el controlador de procesamiento y la calidad de conversión de imágenes WebP.

Etiquetas: Laravel PHP webp intervention-image imagenes

Publicado el 8-15 23:17