拉斐尔图标大小

时间:2012-04-12 17:01:39

标签: javascript raphael graphael

我的网站上有几个Raphael图标,如下所示:

var emailIcon = Raphael("js-email-icon");
    emailIcon.path('M28.516,7.167H3.482l12.517,7.108L28.516,7.167zM16.74,17.303C16.51,17.434,16.255,17.5,16,17.5s-0.51-0.066-0.741-0.197L2.5,10.06v14.773h27V10.06L16.74,17.303z').attr({fill: '#ff00ff', stroke: "none"});

如何让图标更大?

谢谢!

MB

3 个答案:

答案 0 :(得分:3)

使用转换方法:http://raphaeljs.com/reference.html#Element.transform

例如,要使其达到正常尺寸的150%:

var emailIcon = Raphael("js-email-icon");
var iconPath = emailIcon.path('M28.516,7.167H3.482l12.517,7.108L28.516,7.167zM16.74,17.303C16.51,17.434,16.255,17.5,16,17.5s-0.51-0.066-0.741-0.197L2.5,10.06v14.773h27V10.06L16.74,17.303z').attr({fill: '#ff00ff', stroke: "none"});
iconPath.transform("s1.5");

答案 1 :(得分:0)

编辑:好的,意识到你可能没有使用jc,这是.css()的来源。

我建议使用jquery并尝试:

$(emailIcon.path('M28.516,7.167H3.482l12.517,7.108L28.516,7.167zM16.74,17.303C16.51,17.434,16.255,17.5,16,17.5s-0.51-0.066-0.741-0.197L2.5,10.06v14.773h27V10.06L16.74,17.303z').attr({fill: '#ff00ff', stroke: "none"}) ).css({width: "500px", height: "500px"});

我只是将所有内容包裹起来attr,如此$(...).css({width:'500px',height:'500px'})

$(emailIcon.path(...).attr({fill...stroke...})).css({width:'500px',height:'500px'});

如果您不想使用jQuery,那么AS LONG作为Rapheal .attr()函数返回DOM ELEMENT,您可以这样做:

var tmp = emailIcon.path(...).attr({fill...stroke...});
tmp.style.width= '500px';
tmp.style.height= '500px';

答案 2 :(得分:0)

如果你有一个真正的svg文件可以使用,我建议最简单的方法是使用Adobe Illustrator或Inkscape之类的程序来修改图标的大小。完成此操作后,只需提取路径信息即可显示更大的图标。

这些程序将为您完成所有杂乱的路径计算,并让您在应用代码之前了解它的外观。但是,在使用Inkscape时要小心,因为有时它不会修改路径,只是向对象添加一个变换,这对我们Raphael用户没有任何作用。