meteor2013
V2EX  ›  问与答

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

  •  
  •   meteor2013 · Aug 21, 2015 · 1918 views
    This topic created in 3917 days ago, the information mentioned may be changed or developed.
    4 replies    2015-08-21 11:11:46 +08:00
    yyfearth
        1
    yyfearth  
       Aug 21, 2015
    没试过 不过觉得当然可以啦 除非浏览器实现有问题
    你把 canvas svg 两个 element 的 position 重叠在一起就是咯
    无非相当于把两个 image 重叠到一起了
    不过我觉得 canvas 应该在 svg 下面比较好
    另外不知道覆盖的情况如何
    ljbha007
        2
    ljbha007  
       Aug 21, 2015
    @yyfearth 肯定是 SVG 在上面 因为大多数 Canvas 的代码需要刷新画布 所以每次绘图前会覆盖背景色上去 这样就把 SVG 给挡住了
    learnshare
        3
    learnshare  
       Aug 21, 2015
    能,两个 position 调一下就是了,默认都是透明的
    w88975
        4
    w88975  
       Aug 21, 2015
    可以 我们就是这么做的,用 canvas 绘制一些刷新率比较高的底部组件,用 SVG 来与鼠标事件交互.

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

    SVG 和 canvas 的 position 设置为 absolute,宽高一样就行,覆盖在 canvas 上面.
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   987 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 44ms · UTC 20:14 · PVG 04:14 · LAX 13:14 · JFK 16:14
    ♥ Do have faith in what you're doing.