首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Snap.svg vs Svg.js 区别是什么?

Snap.svg vs Svg.js 区别是什么?
EN

Stack Overflow用户
提问于 2018-04-17 05:30:48
回答 2查看 0关注 0票数 0

我试图为现代浏览器找到适当的SVG库。我的目标是决定哪个库适合于创建简单的在线SVG编辑器,例如。文本和路径编辑和剪报文本与路径。

我发现两个库,其可以是合适的:Snap.svgSvg.js

SNAP.SVG

Github:https://github.com/adobe-webplatform/Snap.svg 源代码行:6925 Github明星:3445 文档:http ://snapsvg.io/docs/ 入门:http ://snapsvg.io/start / Starter示例(JSBIN

var draw = Snap(800, 600);

// create image
var image = draw.image('/images/shade.jpg', 
                       0, -150, 600, 600);

// create text
var text = draw.text(0,120, 'SNAP.SVG');

text.attr({
  fontFamily: 'Source Sans Pro',
  fontSize: 120,
  textAnchor: 'left'
});

// clip image with text
image.attr('clip-path', text);

SVG.JS

Github:https : //github.com/svgdotjs/svg.js 源代码行:3604 Github明星: 文档:https//svgdotjs.github.io/

Starter示例(JSBIN):

var draw = SVG('drawing');

// create image
var image = draw.image('/images/shade.jpg');
image.size(600, 600).y(-150);

// create text
var text = draw.text('SVG.JS').move(300, 0);
text.font({
  family: 'Source Sans Pro',
  size: 180,
  anchor: 'middle',
  leading: '1em'
});

// clip image with text
image.clipWith(text);

用法似乎很相似。

这两个库的主要区别是什么?

EN

回答 2

Stack Overflow用户

发布于 2018-04-17 14:17:09

我是svg.js的创造者(所以我也有偏见:)。你必须尝试两种方法,看看最适合你的是什么。有了SVG.js,我尝试保持语法更多的基于JavaScript,所以一切都更加动态,而Snap通常使用基于字符串的语法。这使得最终的代码在SVG.js中通常更具人性化,我当然更喜欢它。我们以渐变为例。

SNAP.SVG:

var g = paper.gradient("L(0, 0, 100, 100)#000-#f00:25%-#fff");

paper.circle(50, 50, 40).attr({
  fill: g
});

SVG.JS:

var g = draw.gradient('linear', function(stop) {
  stop.at(0, '#000')
  stop.at(0.25, '#f00')
  stop.at(1, '#fff')
})

draw.circle(80).center(50,50).fill(g)

Snap.svg语法更简洁一些,SVG.js代码更具可读性。所以这真的是一个品味问题。

通常SVG.js更加面向对象。一切都是一流的,甚至是数字颜色,因此可以扩展。由于OO结构,在任何级别编写插件扩展现有对象都非常容易。

票数 0
EN

Stack Overflow用户

发布于 2018-04-17 14:56:52

我最初试过Snap,因为它有一个很好的网站,看起来很好的文档。在几个我无法解释的问题之后,我决定尝试使用SVG.js. 我无法确定为什么,但SVG.js似乎更易于编写; 更直观。我并不是说Snap是坏的,但它不符合我的风格,文档内容有点稀疏。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100008138

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档