如何在 HTML 页面中制作 canvas 的导航缩略图
how to make a navigation thumbnail of a canvas in a HTML page
我最近使用 vis.js 构建了一个网络图。通常,网络太复杂,无法仅通过查看整个图片来查看。我的网页的用户可能需要放大。
现在我想制作整个图表的小截图,当用户放大到图表的特定部分时,这个小截图将显示用户正在查看的区域。
有什么建议吗?我用谷歌搜索了很多,但没有找到任何东西。
谢谢
这听起来有点直截了当,所以我会这样做:
- 添加要显示内容的 "map" 元素(大概它应该悬停在图形区域的某个下角上方)
- 添加一个 ("where am I") 元素,例如,半透明边框和透明背景以显示现在显示的部分。应计算每个边界的大小,使其覆盖整个地图。或者它可以有普通的边框,它的位置是要计算的
- 了解如何在缩放或移动事物时触发重新计算。您可能会使用 graph event handlers,至少对于
zoom
和 dragging
或 dragEnd
或者可能是 release
。在渲染图表后触发相同的处理程序以启动 "map"
- 从网络 canvas(可能是渲染它)找出如何制作整个事物的 "screenshot"(并决定整个事物的内容.. 边界放在哪里?)再次在元素内部?),将其添加到 "where am I" 元素下的 "map" 元素(通过事件处理程序)
顺便说一句,您要查找的通常称为迷你地图,快速搜索会提供 this 个您可能感兴趣的主题。
我最近使用 vis.js 构建了一个网络图。通常,网络太复杂,无法仅通过查看整个图片来查看。我的网页的用户可能需要放大。
现在我想制作整个图表的小截图,当用户放大到图表的特定部分时,这个小截图将显示用户正在查看的区域。
有什么建议吗?我用谷歌搜索了很多,但没有找到任何东西。 谢谢
这听起来有点直截了当,所以我会这样做:
- 添加要显示内容的 "map" 元素(大概它应该悬停在图形区域的某个下角上方)
- 添加一个 ("where am I") 元素,例如,半透明边框和透明背景以显示现在显示的部分。应计算每个边界的大小,使其覆盖整个地图。或者它可以有普通的边框,它的位置是要计算的
- 了解如何在缩放或移动事物时触发重新计算。您可能会使用 graph event handlers,至少对于
zoom
和dragging
或dragEnd
或者可能是release
。在渲染图表后触发相同的处理程序以启动 "map" - 从网络 canvas(可能是渲染它)找出如何制作整个事物的 "screenshot"(并决定整个事物的内容.. 边界放在哪里?)再次在元素内部?),将其添加到 "where am I" 元素下的 "map" 元素(通过事件处理程序)
顺便说一句,您要查找的通常称为迷你地图,快速搜索会提供 this 个您可能感兴趣的主题。