Panzoom: Функция: возможность установить предел панорамирования или предел заполнения

Созданный на 23 июн. 2020  ·  4Комментарии  ·  Источник: timmywil/panzoom

Какую проблему решает эта функция?

Опишите желаемое решение
Возможность устанавливать предел панорамирования для панорамируемых объектов
то есть:
borderRatioVertical = {0,8}
borderRatioHorizontal = {0,8}

Опишите альтернативы, которые вы рассмотрели
Значение contain: 'inside' имеет аналогичный стиль, но мне нужно иметь возможность переключаться между уровнями масштабирования, сохраняя при этом ограничение отношения отступов.

feature votes needed

Самый полезный комментарий

Спасибо, что ответили мне так быстро.

Может, я не совсем понимаю contain: inside . Насколько я понимаю, это реализация: узел panzoom больше не сможет увеличивать масштаб за пределами своего родительского прямоугольника, но я ДЕЙСТВИТЕЛЬНО хочу, чтобы пользователь мог увеличивать масштаб, contain: inside не позволяет моему объекту увеличивать масштаб. увеличить масштаб за пределами области просмотра.

Мой вариант использования: у меня есть историческая карта с большим разрешением - я хочу, чтобы пользователь мог панорамировать, она слишком велика для просмотра всего объекта, но я не хочу, чтобы пользователь «потерял карту», ​​слишком далеко отодвинув ее. в одну сторону, что звучит как contain: outside но я бы хотел, чтобы у них был полный контроль масштабирования, чтобы полностью уменьшить масштаб, но чтобы исследовать больше, увеличивая масштаб.

я думаю, что проблема в ограничениях, с которыми я сталкиваюсь как с inside и с outside

  • inside предполагает, что изображение достаточно мало, чтобы поместиться во вьюпорте, и имеет некоторые странные эффекты, если не
  • outside предполагает, что изображение должно занимать, по крайней мере, всю область просмотра.

где я мог бы представить contain: 'bounds' , который позволял бы масштабировать и панорамировать изображение, и когда изображение больше, чем область просмотра, и вы дойдете до края или угла, оно вернется к соответствующему краю

Все 4 Комментарий

Спасибо, что открыли вопрос. Простите меня, если я неправильно понимаю эту функцию, но нельзя ли этого добиться, добавив элемент оболочки и используя contain: 'inside' ?

Спасибо, что ответили мне так быстро.

Может, я не совсем понимаю contain: inside . Насколько я понимаю, это реализация: узел panzoom больше не сможет увеличивать масштаб за пределами своего родительского прямоугольника, но я ДЕЙСТВИТЕЛЬНО хочу, чтобы пользователь мог увеличивать масштаб, contain: inside не позволяет моему объекту увеличивать масштаб. увеличить масштаб за пределами области просмотра.

Мой вариант использования: у меня есть историческая карта с большим разрешением - я хочу, чтобы пользователь мог панорамировать, она слишком велика для просмотра всего объекта, но я не хочу, чтобы пользователь «потерял карту», ​​слишком далеко отодвинув ее. в одну сторону, что звучит как contain: outside но я бы хотел, чтобы у них был полный контроль масштабирования, чтобы полностью уменьшить масштаб, но чтобы исследовать больше, увеличивая масштаб.

я думаю, что проблема в ограничениях, с которыми я сталкиваюсь как с inside и с outside

  • inside предполагает, что изображение достаточно мало, чтобы поместиться во вьюпорте, и имеет некоторые странные эффекты, если не
  • outside предполагает, что изображение должно занимать, по крайней мере, всю область просмотра.

где я мог бы представить contain: 'bounds' , который позволял бы масштабировать и панорамировать изображение, и когда изображение больше, чем область просмотра, и вы дойдете до края или угла, оно вернется к соответствующему краю

Это звучит как уникальное поведение, и я не уверен, как встроить его в библиотеку. Я думаю, вы могли бы привязаться к событию panzoomzoom и изменить параметр включения на «снаружи» при достижении границы. Раньше у меня была опция «авто» для contain , которая чередовалась между inside и outside зависимости от размера элемента относительно контейнера. Если он меньше контейнера, ему будет присвоено значение 'inside' , если больше - 'outside' . Это обеспечит возможность масштабирования изображения, но всегда на виду. В любом случае, я пока оставлю это в ярлыке голосов.

@timmywil за последние два дня я случайно наткнулся на эту идею, чтобы переключаться между inside и outside , но это, похоже, не работает должным образом, переходя от {contain: outside} к {contain: inside} похоже, блокирует изображение в позиции, и кажется, что zoomIn() и zoomOut привязаны к настройке содержания, поэтому я даже не могу вызвать zoomOut если не запускать его сам. Сообщите мне, если я упускаю из виду эти настройки.

Я думаю, это много слов, чтобы сказать contain: auto кажется именно тем, что я ищу, ха

если будет голосование за автоматическую функцию, я буду рад это поддержать :)

Была ли эта страница полезной?
0 / 5 - 0 рейтинги