chrometoaster/silverstripe-image-quality

为图片添加质量功能

安装次数: 10,685

依赖项: 1

建议者: 0

安全: 0

星标: 9

关注者: 4

分支: 1

开放问题: 0

类型:silverstripe-vendormodule

1.1.0 2023-10-01 21:16 UTC

This package is auto-updated.

Last update: 2024-08-30 01:20:11 UTC


README

简介

此扩展为图片添加了质量方法,可用于按发生次数降低图片质量。

高质量图片更大,因此降低质量可能会减少需要下载的数据量。

需求

  • SilverStripe 4

安装

composer require chrometoaster/silverstripe-image-quality:~1.0

实例会自动应用于 Silverstripe\Assets\Image 类。

用法

您可以通过调用 Quality(X) 方法并在模板中输出图片时传递从 1 到 100 的期望图像质量来定义图像质量。

强烈建议将质量始终定义为最终的图像处理方法 - 请参阅下面的说明。

<img src="{$Image.Quality(50).Link}" />

<img src="{$Image.CroppedImage(300, 300).Quality(65).Link}" />

实现说明

SilverStripe会按顺序应用每个配置的操作,为每个操作生成一个文件。

这就是为什么不能使用质量方法来提高整个链的图像处理质量。每个操作都使用默认质量应用,然后质量方法会导致生成更大的文件,其中包含先前操作的低质量输出。

这也是为什么质量方法必须是任何链中的最后一个原因;如果不是,则质量方法之后的方法将作用于降低质量的图像,但这些方法的输出将以默认质量保存,使得文件既低质量又大。

理论上,可以在整个链中控制图像质量,但SilverStripe缓存中间结果的方式可能会导致意外的副作用,因为中间阶段图像的质量将取决于哪个方法链首先渲染它。

许可证

BSD-3-Clause