Raphael js是否使用canvas或svg?

时间:2015-07-04 07:08:42

标签: canvas svg raphael

正如Raphael Js的Home page所见,它说:

  

Raphaël是一个小型JavaScript库,可以简化您的工作   用web上的矢量图形。

     

Raphaë使用SVG W3C建议书和VML作为创建的基础   图形。

但是当涉及创建Raphael对象时,例如在LINK

它说:

  

创建要绘制的画布对象。你必须先这样做,因为   所有将来对此实例的绘图方法的调用都将被绑定   到这个画布

我很困惑它是使用canvas还是svg,因为canvas使用栅格类型格式,当与使用路径绘制和记住形状作为场景图或文档对象模型的SVG相比时,缩放时像素输出。

1 个答案:

答案 0 :(得分:2)

Raphael使用SVG元素,它不使用Canvas(根本不使用任何地方)。它可以使用VML来支持旧浏览器。

有时人们用于主要Raphael元素的变量名称是纸张或画布(拉斐尔称其纸张为画布,这令人困惑),因为它描述得很好。

如果我们看一下Raphael对象本身的底层,我们可以看一看(我假设在一个非常古老的IE上看起来可能看起来有点不同而且是VML)..

var paper = new Raphael('mydiv', 100, 100);
console.log( paper.canvas );

显示器

<svg height="100" version="1.1" width="100" xmlns="http://www.w3.org/2000/svg" style="overflow: hidden; position: relative;">

  <desc style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);">Created with Raphaël 2.1.0</desc>  
  <defs style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);">

  </defs>
</svg>