0

我正在尝试导航GDBackend的 Silverstripe 类定义,但无法设置交错值。

我目前正在设置质量_config.php

config::inst()->update('GDBackend', 'default_quality', 60);

所以我然后尝试使用以下设置隔行扫描:

config::inst()->update('GDBackend', 'image_interlace', 1);

这是设置这些值的正确方法吗?很难知道这门课上所有的弃用。

上传图像时,文件大小会减小 - 因此质量似乎设置正确,但隔行扫描设置无效。

此外,日志没有任何错误。

- - - - - - - - - - 更新:

在咨询 Silverstripe IRC 频道后,我已将配置设置移动到 yml 中,如下所示。

GDBackend: default_quality: 60 image_interlace: 1

上传后图像仍然没有隔行扫描。

我正在使用这个工具来测试隔行扫描。

- - - - - - - - - - 结论:

事实证明,这些设置不是上传处理的一部分,仅适用于 CMS 生成的图像。例如,前缀为SetWidth400 -image-name.jpg 的图像将按照 yml 配置的指示进行交错和优化。

我将研究扩展上传模块,为用户提供在上传时交错图像的选项。

感谢科林巴帮助我解决这个问题。

4

1 回答 1

2

就像你提到的隔行扫描是通过 YML 配置设置的。要启用,它应该是 0 以外的任何值,就像 PHP 配置中提到的那样If non-zero, the image will be interlaced, else the interlace bit is turned off.

请注意,当您上传图片时,此图片不会在上传时自动处理。图像质量和隔行扫描仅适用于生成的图像。

于 2014-03-19T07:34:37.497 回答