Php Silverstripe上传和隔行扫描图像

Php Silverstripe上传和隔行扫描图像,php,image,gd,silverstripe,interlacing,Php,Image,Gd,Silverstripe,Interlacing,我正在尝试导航的Silverstripe类定义,设置隔行扫描值时遇到问题 我目前正在\u config.php中设置质量: config::inst()->更新('GDBackend','default_quality',60) 因此,我随后尝试使用以下内容设置隔行扫描: config::inst()->更新('GDBackend','image\u interlace',1) 这是设置这些值的正确方法吗?很难知道这门课上有这么多人反对 上载图像时,文件大小会减小,因此质量似乎设置正确,但隔行设

我正在尝试导航的Silverstripe类定义,设置隔行扫描值时遇到问题

我目前正在
\u config.php
中设置质量:

config::inst()->更新('GDBackend','default_quality',60)

因此,我随后尝试使用以下内容设置隔行扫描:

config::inst()->更新('GDBackend','image\u interlace',1)

这是设置这些值的正确方法吗?很难知道这门课上有这么多人反对

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

此外,日志没有任何错误

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

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

GDBackend:
默认质量:60
图像交错:1

上传后图像仍不交错

我正在测试交错

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

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

我将考虑扩展上传模块,为用户提供在上传点交错图像的选项


多亏了colymba帮我解决了这个问题。

就像你提到的,交错是通过YML配置设置的。要启用它,它应该是0以外的任何值,如PHP配置中提到的
,如果非零,图像将进行隔行扫描,否则隔行扫描位将关闭。


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

哦,好的,那么缩略图和重新采样的图像应该应用隔行扫描吗?我想这很有道理。我会检查一下,看看它是否按预期工作。我上传了图像,并将其链接到一个所见即所得字段中(认为GD可能会在放置时对其施展魔法)。前端上的结果图像仍然不是渐进式的。我该如何为所有上传的图像强制这些设置?在一个新的安装上,这一切对我来说都很好。所有生成的图像都是隔行扫描的,即使是通过所见即所得。同样值得记住的是,如果您请求(WYSIWYG或template或setWidth…),与您上传的SS大小相同的图像将服务于原始图像,因此这里没有隔行扫描。你在做什么?有什么特别的代码吗?我们一直在构建我们的样板文件,所以配置文件是由样板文件中的配置文件级联的。除此之外,没有什么特别的。所以我很清楚,在新安装中,您上传了图像-在一个tmeplate中运行了一个调整大小(或类似)的命令,该命令生成了一个具有隔行扫描的图像?当你引用原始上传的图像时,没有隔行扫描?我会尝试一下,看看是否有相同的结果。我希望在所有上传的图像上都能使用这个配置。我想,如果你有不同的yml配置,例如,从你的样板+项目中,使你想要使用的配置不会被覆盖。