Wicked
Новичок
Уменьшение картинки до определенного размера.
Ситуация: Есть мой сайт, который в силу своей конфигурации умеет принимать от браузера большие картинки (до 100 мбайт). Затем он должен отправить их на некий 3rd party сервис, который умеет принимать картинки только до 2 мб, чего бывает недостаточно. Сжимать предполагается в jpeg. Средства сжатия не ограничны (но лучше, если обойдется imagemagick'ом).
Проблема: Как сжимать картинки больше 2 мб до размера меньше 2 мб, но наиболее близкого к нему? Чтобы картинка пролазила, но потери качества были минимальны...
Пока что в голову приходят только итеративные способы: сжали, замерили, пережали, замерили, ... , замерили, зааплоадили. При таком способе можно использовать метод хорд, чтобы минимизировать кол-во итераций. Также можно накладывать целевые ограничения: например, ограничивать кол-во итераций, кол-во отведенного времени, целевой размер, но боюсь, что эти ограничения взаимоисключающие.
Есть предложения, как улучшить этот процесс, желательно принципиально?
Ситуация: Есть мой сайт, который в силу своей конфигурации умеет принимать от браузера большие картинки (до 100 мбайт). Затем он должен отправить их на некий 3rd party сервис, который умеет принимать картинки только до 2 мб, чего бывает недостаточно. Сжимать предполагается в jpeg. Средства сжатия не ограничны (но лучше, если обойдется imagemagick'ом).
Проблема: Как сжимать картинки больше 2 мб до размера меньше 2 мб, но наиболее близкого к нему? Чтобы картинка пролазила, но потери качества были минимальны...
Пока что в голову приходят только итеративные способы: сжали, замерили, пережали, замерили, ... , замерили, зааплоадили. При таком способе можно использовать метод хорд, чтобы минимизировать кол-во итераций. Также можно накладывать целевые ограничения: например, ограничивать кол-во итераций, кол-во отведенного времени, целевой размер, но боюсь, что эти ограничения взаимоисключающие.
Есть предложения, как улучшить этот процесс, желательно принципиально?