То, как это делается на веб-сайте TED, они используют Flash и только одно соотношение сторон для всех изображений, что делает алгоритм довольно тривиальным. Для еще более стильного вида (и для серьезных компьютерных точек) вы можете выбрать пару форматов изображения (один квадрат, один портрет, одну или две горизонтали) и создать собственный алгоритм для решения подмножества 2D . проблема упаковки бункера эффективно.
Еще лучше, вы могли бы использовать некоторую изящную алгебру, чтобы автоматически решить, какие размеры будут вписываться в прямоугольник указанной ширины, и чтобы алгоритм делал все изменения размера для вас автоматически. Это может звучать как NP-черная магия, но у A List Apart действительно была отличная статья об этом некоторое время назад. В нем даже есть простое объяснение математики и PHP-кода, который вы можете загрузить и изменить в соответствии со своими потребностями:
Автоматическая разметка журнала - Пример 1