Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将html5画布划分为多个区域以仅隐藏/显示部分_Html_Canvas - Fatal编程技术网

如何将html5画布划分为多个区域以仅隐藏/显示部分

如何将html5画布划分为多个区域以仅隐藏/显示部分,html,canvas,Html,Canvas,我有一个画布,在那里我手动创建矩形来构建完整的单独图表。做一些着色和文本放置等 我怎样才能轻松地告诉某个区域隐藏起来并再次显示 是否有一种面向对象的方法可以在区域中以某种方式划分画布?我认为没有一种解决方案可以按照您想要的方式工作。Canvas元素不跟踪区域是从dom中知道的元素。您可以做一些事情: 考虑使用svg。SVG更像html,可以通过javascript/dom和css进行操作 使用要显示的元素重新绘制整个画布。您不必手动执行此操作。一些框架,如paper.js或kinetic.js

我有一个画布,在那里我手动创建矩形来构建完整的单独图表。做一些着色和文本放置等

我怎样才能轻松地告诉某个区域隐藏起来并再次显示


是否有一种面向对象的方法可以在区域中以某种方式划分画布?

我认为没有一种解决方案可以按照您想要的方式工作。Canvas元素不跟踪区域是从dom中知道的元素。您可以做一些事情:

  • 考虑使用svg。SVG更像html,可以通过javascript/dom和css进行操作
  • 使用要显示的元素重新绘制整个画布。您不必手动执行此操作。一些框架,如paper.js或kinetic.js将有所帮助。这些框架还具有类似于功能的层
  • canvas元素具有api函数getImageData和putImageData。使用这些函数,您可以将画布的一个区域保存到javascript数组中,并使用画布绘图函数清空该区域。需要时,可以使用putImageData函数重新绘制该区域

我完全转向了svg。在使用svg和图形时,我使用了一个很棒的框架:@Alex:+1很好地参考了d3。这是我见过的最好的数据可视化LIB之一(而且我有点老了,所以我见过很多!)。