Допустим есть контейнер 600px на 400px. В него нужно вписывать картинки различных размеров. Наибольшая длина стороны картинки должна вписываться до краев этого контейнера (уменьшаться или увеличиваться).
Поясню на примерах: картинка 1200 на 500 должна быть уменьшена до 600 на 250 и размещена в центре контейнера.
Картинка 150 на 300 должна быть увеличена до 200 на 400 и размещена в центре.
Т.е. они всегда должны пропорционально увеличиваться или уменьшаться до бОльшей стороны контейнера.