如何在 HTML 页面中制作 canvas 的导航缩略图

how to make a navigation thumbnail of a canvas in a HTML page

我最近使用 vis.js 构建了一个网络图。通常,网络太复杂,无法仅通过查看整个图片来查看。我的网页的用户可能需要放大。

现在我想制作整个图表的小截图,当用户放大到图表的特定部分时,这个小截图将显示用户正在查看的区域。

有什么建议吗?我用谷歌搜索了很多,但没有找到任何东西。 谢谢

这听起来有点直截了当,所以我会这样做:

  • 添加要显示内容的 "map" 元素(大概它应该悬停在图形区域的某个下角上方)
  • 添加一个 ("where am I") 元素,例如,半透明边框和透明背景以显示现在显示的部分。应计算每个边界的大小,使其覆盖整个地图。或者它可以有普通的边框,它的位置是要计算的
  • 了解如何在缩放或移动事物时触发重新计算。您可能会使用 graph event handlers,至少对于 zoomdraggingdragEnd 或者可能是 release。在渲染图表后触发相同的处理程序以启动 "map"
  • 从网络 canvas(可能是渲染它)找出如何制作整个事物的 "screenshot"(并决定整个事物的内容.. 边界放​​在哪里?)再次在元素内部?),将其添加到 "where am I" 元素下的 "map" 元素(通过事件处理程序)

顺便说一句,您要查找的通常称为迷你地图,快速搜索会提供 this 个您可能感兴趣的主题。