Guía Sencilla Para Convertir Imágenes a Webp En Php

by Silvia Mazzetta Date: 04-04-2020 php imagenes webp compresor


El 30 de septiembre de 2010, Google anunció la publicación de un nuevo estándar abierto para la compresión con pérdida de gráficos de 24 bits en la web. La base para este estándar fue el formato de vídeo VP8, desarrollado por On2 Technologies, empresa que Google adquirió el mismo año.

Google trabajó para ampliar el formato WebP con características tales como un modo de compresión sin pérdida, transparencia (canal alfa) y animaciones. 

Chrome soporta el formato de compresión desde finales de 2010, pero hasta ahora, algunos navegadores solo soportan WebP de forma experimental (cuyas actualizaciones regulares siguen sin ofrecer soporte), mientras que Safari, sigue sin soportar e formato.

Se puede encontrar información actualizada sobre el soporte de WebP en caniuse.com.

En este tutorial, explicaremos cómo convertir una imagen png, jpg a webp en PHP.

Para convertir imágenes de otros formatos a webp, debemos usar la función php imagewebp():

imagewebp ( resource $image [, mixed $to = NULL [, int $quality = 80 ]] ) : bool

Esta función puede guardar o sacar una imagen webp de otros tipos de imágenes.

Esta función acepta tres parámetros:

1. $image: Especifica la imagen en el que se quiere trabajar.


2. $to (Opcional): Especifica la ruta para guardar el archivo.


3. $quality (Opcional): Especifica la calidad de la imagen.

Aquí os presentamos una función para convertir imágenes png en webp.

function convertImageToWebP($source, $destination, $quality=80) {  	
$extension = pathinfo($source, PATHINFO_EXTENSION);  	
if ($extension == 'jpeg' || $extension == 'jpg')   		
$image = imagecreatefromjpeg($source);  	
elseif ($extension == 'gif')   		
$image = imagecreatefromgif($source);  	
elseif ($extension == 'png')   		
$image = imagecreatefrompng($source);  	
return imagewebp($image, $destination, $quality);  	  
}

¿Cómo funciona esta función?

En primer lugar, obtenemos el formato de la imagen de origen por medio de pathinfo().

$extension = pathinfo($source, PATHINFO_EXTENSION);

Luego, creamos una imagen por tipo de imagen:

if ($extension == 'jpeg' || $extension == 'jpg')   		
$image = imagecreatefromjpeg($source);  	
elseif ($extension == 'gif')   		
$image = imagecreatefromgif($source);  	
elseif ($extension == 'png')   		
$image = imagecreatefrompng($source);

Y finalmente, conviertimos png, jpg a imagen webp:

return imagewebp($image, $destination, $quality);

Business vector created by freepik - www.freepik.com
 
by Silvia Mazzetta Date: 04-04-2020 php imagenes webp compresor visitas : 3117  
 
Silvia Mazzetta

Silvia Mazzetta

Web Developer, Blogger, Creative Thinker, Social media enthusiast, Italian expat in Spain, mom of little 6 years old geek, founder of  @manoweb. A strong conceptual and creative thinker who has a keen interest in all things relate to the Internet. A technically savvy web developer, who has multiple  years of website design expertise behind her.  She turns conceptual ideas into highly creative visual digital products. 

 
 
 

Artículos relacionados

Imágenes generadas por GAN

Juguemos a un juego... ¿Adivinas qué tienen en común estos retratos?   Todas estas son personas inexistentes. Las imágenes fueron creadas por una inteligencia artificial. Podríamos decir que la IA "soñó" con…

Cookies HTTP: cómo funcionan y cómo usarlas

Hoy vamos a escribir sobre la forma de almacenar datos en un navegador, por qué los sitios web utilizan cookies y cómo funcionan en detalle. Continúa leyendo para averiguar cómo implementarlas…

PHP 8.0: mas rápido que nunca con el compilador JIT

Probablemente ya habéis oido la noticia hace unos meses de que el compilador JIT será agregado a PHP 8. Ya desde PHP 7.0, se han hecho cambios para mejorar el…

Renderización lado servidor de Vue.js on Php

¿Intentas que el renderizado del lado del servidor funcione con PHP para renderizar tu aplicación Vue.js pero se atasca? Hay un montón de grandes recursos por ahí, pero hasta ahra no…

Cómo instalar Caddy Web Server con PHP-FPM en Ubuntu 16.04

El Caddy o Caddy web server es un servidor web de código abierto habilitado para HTTP/2 escrito en Go. Caddy puede funcionar en varios sistemas, incluyendo los que funcionan con…

PHP: como soluciónar el error «The e modifier is no longer supported»

Desde la versión 7 ya tenemos error al usar el modificador e con el preg_replace(). de hecho el modificador e, correspondiente a la constante PCRE PREG_REPLACE_EVAL, era antes utilizado…

Cómo obtener el token de acceso a Instagram usando PHP

Cómo obtener el token de acceso a Instagram usando PHP? Para obtener el token de acceso Instagram, primero debes autenticar tu aplicación y luego obtener el token de acceso. Sigue los siguientes…

Imágenes responsivas y atributos srcset and sizes

En la revolución del diseño web, las imágenes son una cosa que aparentemente se ha quedado atrás. Hasta hace relativamente poco, servir diferentes imágenes en función del tamaño de la…

Optimizar las consultas SQL en PHP: Select y Join

La mayoría de nosotros tiene que relacionarse con bases de datos en nuestros proyectos, y SQL es uno de los languajes más utlizados. SQL (Structured Query Language) es un lenguaje…

Cómo convertirte en un desarrollador web actual

Hay un montón de tutoriales en línea completamente gratis. Si eres lo suficientemente autodirigido e interesado, no tienes ninguna dificultad para entrenarte a ti mismo. El punto para aprender a…

24 recursos gratuitos para programadores novatos

Cuando estamos descubriendo nuevas áreas, una pequeña ayuda es siempre bien venida. En la programación, los recursos existen en grandes cantidades para ayudar a todos los tipos de desarrolladores. Para…

Solucionar Problemas html acentos y eñes: charset UTF-8 / ISO-8859-1 en PHP

La codificación de las páginas web (charset) es un problema recurrente para los webmasters, porque: Depende del editor en que se haya hecho la web, si en el trabajamos por defecto…

Utilizamos cookies propias y de terceros para mejorar nuestros servicios, elaborar información estadística y analizar tus hábitos de navegación. Esto nos permite personalizar el contenido que ofrecemos y mostrarte publicidad relacionada con tus preferencias. Clicando en ‘Acepta todas’ aceptas el almacenamiento de cookies en tu dispositivo para mejorar la navegación en el sitio web, analizar el tráfico y ayudar en nuestras actividades de marketing. También puedes seleccionar ‘Sólo cookies de sistema’ para aceptar sólo las cookies necesarias para que la web funcione, o puedes seleccionar las cookies que quieres activar clicando en ‘Configuración’

Acepta todas Sólo cookies de sistema Configuración