Загрузка и переплетение 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.
Обратите внимание, что при загрузке изображения оно не обрабатывается автоматически при загрузке. Качество изображения и чередование применимо только к сгенерированным изображениям.