Не знаю, но сделать несложно. JS на клиенте и imagemagick на сервере.
JS меняет размеры окна по заданному списку, если нужна адаптивность. Измеряет размер каждой доступной картинки и отправляет их на сервер.
Сервер делает уменьшенные копии изображений.
Итого - 5 строк на JS и 5-10 строк на php-imagick, к примеру.