Уже поднималась, наверняка тема, но кроме платных ресурсов пока ничего не нашел толкового..
Заказчик попросил сделать полную оптимизацию картинок на сайте, чтобы не жрали лишнего трафика, да и для быстрой загрузки сайта.
Причем оптимизация должна быть как изначально загружаемых картинок, так и их миниатюр. Часто так бывает, что ты загрузил оптимизированные картинки, а опенкарт при создании миниатюр все это дело испортил. В итоге миниатюры неоптимизированные.
Решил попробовать API TinyPNG. Работает пока классно, подключается ну просто элементарно, все описано у них на сайте.
Работает на сайте по той же схеме, как обычно. Если файла миниатюры нет, пихаем оригинал в Tiny (с заданными размерами) и отдаем в контроллер через $this->model_tool_image->resize. Если есть - отдаем что есть.
Существенным преимуществом этого ресурса является его умение не только оптимизировать, но и ресайзить под нужные мне размеры. То есть я или просто прогоняю картинку через Tiny и получаю оптимизированную (например, при загрузке картинки через админку), или при этом задаю нужные размеры. Получаю оптимизированную да еще и с нужными размерами (это уже, например, на фронте, при создании миниатюр).
Единственный ньюанс - при ресайзе, если у картинки, например, высота больше ширины, а делается квадратная миниатюра, то в результате миниатюра получится не квадратная, а пропорционально исходному соотношению ширины и высоты. Ну я думаю, это реально не проблема. Да и эти опенкартовские белые поля - уже набили оскомину.
Но там бесплатный лимит 500 картинок в месяц.
Кстати, решение вопроса загруза сервера из-за удаления кэша изображений. Однако теперь при удалении кэша изображений вы просто попадаете на бабки.
Поделитесь, плиз, своими идеями, может есть какие-то библиотеки для оптимизации, аналогичной по качеству TinyPNG.