Задать вопрос

Как на js равномерно заполнить блок изображениями?

Подскажите как сделать вот так?
collage.png
  • Вопрос задан
  • 724 просмотра
Подписаться 7 Оценить 12 комментариев
Пригласить эксперта
Ответы на вопрос 1
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Заполняем вдоль границ шейп-фигуры (у круга - это линия окружности) в "центр масс" (у круга - это его центр) в 2 этапа, с проверкой, что объекты не пересекаются.
1-ый - внешняя граница из иконок.
2-ой - заполняем самые дальние от центра пробелы

Вот как на Raphael.js как можно отследить пересечение:
var icon1 = "..."; //svg-path
var icon2 = "..."; //svg-path
var intersections =Raphael.pathIntersection(icon1, icon2);
if (intersections.length>0) {/* было пересечение */};

1. Ставим один объект.
2. Затем ставим на тоже место новый и отводим постепенно по дуге, вдоль линии окружности (по радиальному радиусу, как стрелка часов) в сторону до тех пор, пока не пропадёт пересечение с предыдущим объектом.
3. Как только завершили внешнюю границу, начинаем заполнять от центра масс (в круге - это его центр) в самый дальний свободный участок пространства, уже ограниченного объектами в п.2.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы