Совместные бумажные координаты
В моем приложении есть контроллер панорамирования, который прокручивает бумагу. Как я могу получить координаты того, что отображается, чтобы увидеть, находится ли элемент полностью на экране?
Спасибо Дениз
1 ответ
Вам нужно знать координаты (x, y, ширина, высота) бумажного элемента. x
, y
может быть scrollLeft
, scrollTop
, width
а также height
это размер элемента. Давайте назовем это "координатами клиента". Клиентские координаты такие же, как и на графике соединения, если на бумаге нет преобразований (например, масштаб). В противном случае вам нужно выполнить преобразование между клиентскими координатами и координатами графика.
Методы как paper.clientToLocalPoint(clientX, clientY)
или же paper.clientToLocalRect(clientX, clientY, width, height)
могу сделать работу.
Или в RappidJS вы можете просто позвонить getVisibleArea
на joint.ui.PaperScroller
плагин