能不能让 SVG 和 CANVAS 重叠使用呢?

2015-08-21 03:01:27 +08:00
 meteor2013
1563 次点击
所在节点    问与答
4 条回复
yyfearth
2015-08-21 09:12:45 +08:00
没试过 不过觉得当然可以啦 除非浏览器实现有问题
你把 canvas svg 两个 element 的 position 重叠在一起就是咯
无非相当于把两个 image 重叠到一起了
不过我觉得 canvas 应该在 svg 下面比较好
另外不知道覆盖的情况如何
ljbha007
2015-08-21 09:31:50 +08:00
@yyfearth 肯定是 SVG 在上面 因为大多数 Canvas 的代码需要刷新画布 所以每次绘图前会覆盖背景色上去 这样就把 SVG 给挡住了
learnshare
2015-08-21 09:39:49 +08:00
能,两个 position 调一下就是了,默认都是透明的
w88975
2015-08-21 11:11:46 +08:00
可以 我们就是这么做的,用 canvas 绘制一些刷新率比较高的底部组件,用 SVG 来与鼠标事件交互.

不过现在我们也全部改成了 canvas,毕竟 SVG 效率低下,碰到很多节点的时候,渲染会非常慢,canvas 效率则是高了一个量级.

SVG 和 canvas 的 position 设置为 absolute,宽高一样就行,覆盖在 canvas 上面.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/214704

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX