chrometoaster / silverstripe-image-quality
为图片添加质量功能
1.1.0
2023-10-01 21:16 UTC
Requires
- silverstripe/framework: ^4 || ^5
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