And*_*iga 4 javascript svg raphael
我在使用Raphael.js的print方法创建文本时遇到了一些问题.更准确地说,该getFont方法需要的print方法返回一个undefined值.我在这里放了一个非常简单的小提琴,试图找到问题的根源,但到目前为止没有运气.下面是相同的小提琴代码:
<div id="canvas" style="width:500px; height:300px; outline: 1px solid #000;"></div>?
Run Code Online (Sandbox Code Playgroud)
和JavaScript:
var canvas, font, text;
canvas = new Raphael(document.getElementById("canvas", 500, 300));
font = canvas.getFont("Arial");
text = canvas.print(0, 0, "Some text", font, 24).attr({ "fill": "#C00" });?
Run Code Online (Sandbox Code Playgroud)
创建画布,甚至绘制路径(尽管字体的值未定义),但字体对象未定义返回.我也试过"Arial"字体.毕竟,这两个是标准的,所以我们不是在谈论自定义字体.
任何想法为什么会这样?
Raphael的print方法要求你使用Cufon-font-files.来自以下文档getFont:
通过给定参数查找已注册字体中的字体对象.
并进一步阅读registerFont:
将给定字体添加到Raphaël的已注册字体集中.应该用作Cufón字体文件中的内部调用.
有点扭曲.....
因此,如果您需要/需要使用print您必须转换并以正确格式提供字体文件的方法,请在此处阅读cufon .
如果你想使用系统字体(或webfonts),你可以使用Paper.text()非常容易使用的方法,你可以使用CSS等设置文本样式.