Загрузка и переплетение Silverstripe

Я пытаюсь перемещаться по определению класса Silverstripe для GDBackend, и у меня возникают проблемы при установке значения чересстрочной развертки.

Я сейчас устанавливаю качество в _config.php с:

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

Поэтому я попытался установить переплетение следующим образом:

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

Это правильный метод для установки этих значений? Трудно понять, что происходит в этом классе.

Когда изображение загружено, размер файла уменьшается - поэтому качество, кажется, установлено правильно, но настройка чересстрочной развертки не оказывает влияния.

Также в логах нет ошибок.

------------------- ОБНОВИТЬ:

После просмотра IRC-канала Silverstripe я перенес настройки конфигурации в yml со следующим.

GDBackend: default_quality: 60 image_interlace: 1

Изображения все еще не чересстрочные после загрузки.

Я использую этот инструмент для проверки на переплетение.

------------------- ЗАКЛЮЧЕНИЕ:

Оказывается, что эти настройки не являются частью обработки загрузки и применяются только к изображениям, созданным CMS. Например, изображения с префиксом что-то вроде SetWidth400 -image -name.jpg будут чередоваться и оптимизироваться в соответствии с указаниями конфига yml.

Я буду смотреть на расширение модуля загрузки, чтобы дать пользователю возможность чередовать изображения в точке загрузки.

Спасибо Колимбе за его помощь, прояснив это для меня.

1 ответ

Решение

Как вы упомянули, чередование устанавливается через конфигурацию YML. Для включения это должно быть что-то кроме 0, как упомянуто в конфигурации PHP If non-zero, the image will be interlaced, else the interlace bit is turned off.

Обратите внимание, что при загрузке изображения оно не обрабатывается автоматически при загрузке. Качество изображения и чередование применимо только к сгенерированным изображениям.

Другие вопросы по тегам