094ikis09/webp-conversion-bundle

一个用于生成WebP图像的Symfony组件

dev-master 2022-02-18 07:54 UTC

This package is auto-updated.

Last update: 2024-09-18 13:42:34 UTC


README

Code Coverage Badge

WebP 转换命令

此组件旨在简化在Symfony项目中创建webP图像的过程。

命令

该组件包含一个命令:codebuds:webp:convert

这允许您传入一个目录,您希望将所有jpeg、png、gif和bmp图像转换为webP。

它具有多个参数

  • --create 没有这个参数时,目录将被检查,但最终图像将不会创建。
  • --quality 设置webp图像的质量(默认为80)
  • --force 重新创建现有的webP图像(默认为false)
  • --suffix 在创建的webp图像名称中添加后缀

示例

php bin/console codebuds:webp:convert --create --quality=90 --suffix=_q90 public/images

如果public/images包含image.jpeg,在执行命令后,它将包含image_q90.webp。

Twig 扩展

该组件包含一个twig扩展,可以生成webp图像并返回其路径。这有助于轻松生成

<!-- old school approach -->
<img src="/public/images/test.jpg">

<!-- new approach -->
<picture>
    <source srcset="{{ '/public/images/test.jpg' | cb_webp }}" type="image/webp">
    <source srcset="/public/images/test.jpg"  type="image/jpeg">
    <img src="/public/images/test.jpg">
</picture>

这也适用于vich_uploader资源文件和liip_imagine过滤器

<picture>
    <source srcset="{{ vich_uploader_asset(asset, 'imageFile') | cb_webp | set_webp_extension | imagine_filter(filter) }}" type="image/webp">
    <source srcset="{{ vich_uploader_asset(asset, 'imageFile') | imagine_filter(filter) }}">
    <img src="{{ vich_uploader_asset(asset, 'imageFile') | imagine_filter(filter) }}">
</picture>