12

如何.webp使用 PHP 创建图像?

现代版本的 PHP (>= 5.5.0) 可以在WebP支持下编译,但据我所知,这在许多网络主机上并不常见。如果编译时支持 WebP,您可以使用内置imagewebp()函数创建.webp图像。

.webp使用 PHP创建图像的替代方法是什么?库、API 其他方法?

4

5 回答 5

6

当前可用的选项有:gd(扩展)、imagick(扩展)、imagick(执行调用)、gmagick(扩展)、gmagick(执行调用)、cwebp(执行调用)、gmagick(执行调用)或调用云服务。我在 github 上创建了一个库“webp-convert”,它尝试了所有方法。自述文件描述了每种方法的优缺点。它在这里可用:https ://github.com/rosell-dk/webp-convert 。

由于我不知道的原因,imagick/gmagick 扩展不会产生比原始文件更好的质量。这只是扩展的问题,而不是 exec 调用。

于 2017-07-13T18:35:30.213 回答
3

webp图像创建过程:

您可以使用以下 php 命令获取 webp 图像

$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 : 在 php 中执行给定的命令

http://php.net/manual/en/function.exec.php

于 2015-07-07T05:58:55.770 回答
2

您可以直接访问 Google 并从源代码构建 WebP 库。使用此链接为您的操作系统获取适当的存档:

https://developers.google.com/speed/webp/docs/compiling#building

然后您可以在 php system() 函数中使用以下命令来转换图像:

句法:

  cwebp [quality 
 qualitypercentage] [source 
 image] -o [destination]`

 cwebp -q 80 source.png -o 
 destination.webp

我建议阅读上面的链接来编译你的库,然后去这里获取更多关于使用库的信息

祝项目好运!

于 2014-08-22T14:52:41.373 回答
0

您可以使用干预图像库。它提供了与图像格式相关的各种图像编码选项和实用程序。webp是将图像转换为格式的示例代码片段。它支持多种图像编码,如下所示,

  • jpg — 返回 JPEG 编码的图像数据
  • png — 返回可移植网络图形 (PNG) 编码的图像数据
  • gif — 返回图形交换格式 (GIF) 编码的图像数据
  • tif — 返回标记图像文件格式 (TIFF) 编码的图像数据
  • bmp — 返回位图 (BMP) 编码的图像数据
  • ico — 返回 ICO 编码的图像数据
  • psd — 返回 Photoshop 文档 (PSD) 编码的图像数据
  • webp — 返回 WebP 编码的图像
  • data data-url — 在数据 URI 方案中编码当前图像数据 (RFC 2397)
于 2019-12-04T19:22:44.477 回答
-1

现在有几个 npm 包可以.webp从 PNG、JPEG 和 TIFF 格式创建图像。

这是一个 Gulp 插件作为示例 - gulp-webp

于 2016-08-26T17:25:41.480 回答