Иногда возникает необходимость разместить картинку, высота и ширина которой заранее не известна, в прямоугольную область без деформации.
Есть разные вариации этой задачи, и как результат разные способы решения. Данный материал показывает решение на javascript , а так же содержит ссылки на другие варианты решения.