How do you create .webp
images using PHP?
Modern versions of PHP (>= 5.5.0) can be compiled with WebP
support but from I've seen this isn't common on many web hosts. If compiled with WebP support you can use the built-in imagewebp()
function to create .webp
images.
What are the alternatives for creating .webp
images using PHP? Libraries, APIs other methods?
The options currently available are: gd (extension), imagick (extension), imagick (exec-call), gmagick (extension), gmagick (exec-call), cwebp (exec-call), gmagick (exec call) or calling a cloud service. I have created a library 'webp-convert' on github which tries all methods. The readme-file describes the pros and cons of each method. Its available here: https://github.com/rosell-dk/webp-convert.
For reasons unknown to me, the imagick/gmagick extensions produces no better quality than the original files. This is only a problem with the extensions, not the exec calls.
webp images creating process:
you can use following php commands,to get the webp images
$imgName = "codingslover.jpg";
$webPName = "codingslover.webp";
Syntax:
cwebp [quality qualitypercentage] [source image] -o [destination]
exec("cwebp -q 0 ".$imgName." -o ".$webPName." ");
Anthor Method:
exec("convert -colorspace RGB ".$imgName." ".$webPName . " ");
Exec : executes the given command in php
You can go right to Google and build the WebP libraries from source. Use this link to get the appropriate archive for your operating system:
https://developers.google.com/speed/webp/docs/compiling#building
Then you can use the following command within a php system() function to convert the images:
Syntax:
cwebp [quality
qualitypercentage] [source
image] -o [destination]`
cwebp -q 80 source.png -o
destination.webp
I would recommend reading the above link to get your libraries compiled, then go here to get more information about using the libraries.
Best of luck with the project!
There are now several npm packages to create .webp
images from PNG, JPEG and TIFF formats.
Here's one Gulp plugin as an example - gulp-webp.
来源:https://stackoverflow.com/questions/25248382/how-to-create-a-webp-image-in-php