Это предложение по обсуждению (RFC) о добровольной сжатии, изменении размера и оптимизации изображений на стороне клиента перед процессом загрузки. Эксперимент будет проводиться с использованием компонента темы. Если он окажется полезным, мы рассмотрим возможность добавления этой функции в ядро для версии 2.8.
Интерфейс
Пользователи смогут управлять оптимизацией на стороне клиента с помощью простого флажка в модальном окне загрузки.
Сначала мы будем экспериментировать с оптимизацией JPEG-изображений, так как они являются наиболее распространенными загрузками со смартфонов пользователей.
Наш компонент будет изменять размер загружаемого пользователем изображения, если оно превышает максимальный настроенный размер, и перекодировать его с помощью MozJPEG.
В моих тестах это занимает <10 секунд на среднем Android-смартфоне и сжимает типичное фото до менее чем 30% от его исходного размера.
Я не уверен, что это должно быть опцией для конечного пользователя, особенно учитывая, что они могут просто копировать и вставлять. Вместо этого я считаю, что это вопрос для администратора сайта.
Насколько сильно следует оптимизировать изображения перед загрузкой: «незначительно|немного|сильно» …
Имя/значение и значение по умолчанию ещё не определены.
Результаты выглядят превосходно! Также, возможно, стоит сделать это полностью автоматическим в определённых случаях? Вы устанавливаете «максимальный» размер изображений на вашем форуме в 2000 КБ, и у нас есть эвристика, которая срабатывает и гарантирует, что всё будет обработано.
Было бы полезно добавить эту функцию как опцию для администратора, чтобы автоматически сжимать всё, что превышает установленные для сайта параметры размеров. Для сайтов с большим количеством изображений не стоит включать её постоянно, но она пригодится в тех случаях, когда менее опытные пользователи не хотят беспокоиться о изменении размера.