группа большой набор изображений - PullRequest
8 голосов
/ 17 ноября 2010

Есть ли какой-нибудь алгоритм для размещения множества маленьких изображений с различными размерами и группировки их в более крупное?У кого-нибудь есть идеи, с чего мне начать расследование?


РЕДАКТИРОВАТЬ: В основном я хочу сделать что-то вроде этого http://www.google.ro/images/srpr/nav_logo27.png в PHP.Я не ожидаю такой сложности.Я собираюсь использовать изображение как спрайт CSS, если это будет иметь какое-либо значение.

Ответы [ 3 ]

6 голосов
/ 17 ноября 2010

Обычно это сложная вычислительная задача, но существуют приблизительные решения.

Редактировать: Схожий вопрос Упаковка данных прямоугольного изображения в квадратную текстуру

1 голос
/ 27 ноября 2010

Использование алгоритма оптимизации может быть излишним для вашей проблемы.Кодирование алгоритма оптимизации потребует много предварительных исследований.Даже реализация готовой библиотеки может быть большой проблемой для решения.

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

Если вы используете алгоритм, окончательное изображение будет более оптимизированным.Меньше по размеру.Но разница не будет сильно отличаться, если ваши изображения не сильно различаются по размерам.

Если размеры вашего изображения немного различаются, закажите их в соответствии с их наиболее изменяющимся размером (ширина или высота).Затем начните вставлять изображения в таком порядке.

0 голосов
/ 17 ноября 2010

Я думаю, что это называется mosaic, так что вы можете начать с поиска этого

...