Cómo creé una API para redimensionar y comprimir imágenes en línea

- Publicidad -

Si alguna vez has necesitado cambiar el tamaño de una imagen para un sitio web, una compresión rápida o incluso convertir un PNG a JPG, sabrás lo limitadas que pueden ser las soluciones ya preparadas, o lo llenas que están de publicidad y restricciones. Como desarrollador y creador de contenidos, decidí crear mi propia solución. API propia de redimensionamiento de imágenescon soporte para compresión, conversión de formatos y visualización en directo, todo ello dentro de mi entorno WordPress.

En este artículo, te muestro entre bastidores esta creación y cómo puedes utilizar o adaptar algo similar en tu proyecto.

Enlace API: Redimensionador de imágenes en línea

¿Por qué he creado esta API?

Necesitaba una solución ligera, funcional y personalizable para mi propio uso y también para los lectores de Criadix. Las herramientas en línea no siempre garantizan el control de calidad, ni permiten integraciones automatizadas con otros flujos de trabajo. Creando mi propia API:

  • He ganado control total del cambio de tamaño
  • Pude aplicar compresión personalizada
  • Hice posible que conversión entre formatos (PNG ↔ JPG)
  • Añadido visualización en tiempo real con en el front-end
  • Y pude ofrecer todo esto a través de Plugin de WordPress

¿Cómo funciona la API?

La lógica central está en un archivo PHP que actúa como un punto final REST. Permite:

1. Cargar varias imágenes

Con validación de tipo (jpg, jpeg, png, webp, gif, bmp o tiff) y límite de tamaño.

2. Lectura de las dimensiones originales

La API obtiene la anchura y la altura de cada imagen cargada y la muestra al usuario en el panel de vista previa.

 

Cómo salir de deudas y recuperar su salud financiera

Cómo salir de deudas y recuperar su salud financiera

0
Estar endeudado puede ser una fuente constante de estrés y preocupación. Sin embargo, es posible salir de las deudas y recuperar la salud financiera con un plan estratégico y disciplina. En este artículo, le proporcionaremos una guía paso a paso para ayudarle...

 

3. Cambio de tamaño por píxel o porcentaje

El usuario puede elegir entre fijar las dimensiones manualmente o mantener la proporción automáticamente.

4. Compresión ajustable

Con Imagick, controlo la calidad de la imagen final.

5. Conversión de formatos

Si el usuario envía PNG y opta por la salida JPG, la conversión se aplica con suavizado de fondo transparente.

6. Descargar en ZIP

Si se importa más de una imagen, todas las imágenes procesadas se comprimen en un único archivo .zip para su descarga inmediata. En caso contrario, se comprimirá el mismo nombre de imagen.

Experiencia de usuario (UX) en el front-end

Como valoro tanto el aspecto técnico como la experiencia del usuario, el front-end cumple:

  • Visualización en directo con canvas
  • Interfaz sencilla y limpia
  • Modal para una visualización ampliada

Cargando feedback y éxito con fetch y wp_ajax

Cómo lo implementé en WordPress

Plugin personalizado

He creado un plugin para WordPress llamado Image Process API. Registra un endpoint /wp-json/image-api/v1/process y lo ofrece:

  • Seguridad con nonce
  • Compatibilidad con varios archivos
  • Opción de utilizar GD o Imagick en función del servidor

Estructura del directorio

  • /temp_uploads/ → imágenes recibidas
  • /final_images/ → imágenes convertidas y comprimidas.
  • /descargas/ → archivos zip ya creados

También incluye registros de errores para depurar y comprobar los permisos en el servidor local o remoto.

Próximos pasos

Como cualquier proyecto vivo, aún quiero hacerlo:

  • Añadir redimensionamiento por lotes mediante URL remota
  • Crear un cuadro de mandos para visualizar las estadísticas de uso
  • Ofrezca un widget para integrarlo fácilmente en otros sitios web

Crear mi propia API de redimensionamiento de imágenes era algo más que un reto técnico: era una solución práctica y personalizada para mi día a día como creador y desarrollador. Y lo mejor: ahora puedo ofrecer esta herramienta en Criadix para ayudar a otros usuarios que también necesitan optimizar imágenes con más libertad y calidad.

Si quieres aprender más sobre WordPress y el desarrollo PHP, este tipo de proyecto es un gran punto de partida - y totalmente aplicable a la vida real.

- Publicidad -
Cestaro
Cestaro
Hola, soy Leandro Cestaro, creador de Criadix.com. Soy analista de datos, entusiasta de la tecnología y apasionado por WordPress, la inteligencia artificial y la creación de contenidos digitales. Tengo una sólida experiencia en infraestructura informática y siempre estoy buscando soluciones creativas para entornos complejos, combinando técnica y practicidad.Además de mi faceta profesional, soy padre, estoy casado y creo en el poder del conocimiento para transformar vidas. En Criadix, comparto experiencias, tutoriales y puntos de vista para ayudar a las personas a explorar el universo digital con más autonomía e inspiración. Bienvenido.

Artículos relacionados

Comentarios

DEJAR UNA RESPUESTA

Por favor, introduzca su comentario.
Introduzca aquí su nombre

Artículos recientes