如何居中打印()'d拉斐尔文本在一个空间
how to center print()'d raphael text in a space
我很好奇如何正确地为print()'d文本提供所需的渲染空间,或者如何让Raphael从中心向外渲染文本
var an = Raphael("about-navlink", 69, 22), fonts = [0, an.getFont("arialbold")], about_navlink = an.print(0, 10, "about.", fonts[1], 22).attr({fill: "#000000"});
使文本从左侧开始。我想让这段代码的部分与PHP动态或选择一个静态的宽度,其中的中心和放弃计算。我已经看了raphael的文档,我没有在print()参考中找到任何讨论文本对齐的内容。任何帮助都将非常感激。谢谢!
在Raphael渲染了对应于文本的路径后,我们设为printed
:
-
使用
Raphael.pathBBox(printed.attr('path'))
(doc),计算负偏移量(-width/2和-height/2) -
用
var m = Raphael.matrix()
创建一个矩阵,您可以用您的偏移量(m.translate(left, top)
)进行翻译,或者直接在矩阵构造函数参数中放置偏移值(左和上分别为第5和第6个参数) -
那么你有两种方法应用它:
-
使用
Raphael.mapPath
明确应用矩阵(它计算一个路径字符串,你必须设置:printed.attr( 'path', Raphael.mapPath(printed.attr('path'), m) );
-
或者像使用一个简单的变换:
printed.transform( m.toTransformString() );
如果在这个元素上有其他的转换,使用
'...' + m.toTransformString()
让你的转换发生在已有的转换之前,
m.toTransformString() + '...'
-
相关文章:
- 如何使用jquery在填充自动完成的值后使文本框只读
- 使用Clipboard.js复制span文本
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 用程序搜索JQuery数据表中的文本
- jQuery匹配JSON对象的部分文本
- onkeyup无法动态创建多个文本区域
- 不带按钮的引导输入组文本占用一半空间
- 将命名空间与对象文本表示法和继承一起使用
- 如何在 DIV 中添加文本,但不使其可见或使用页面上的任何空间
- 无法将空间附加到文本区域内容
- Html和CSS,给了我更大的工作空间,同时限制了文本的位置
- 用正方形空间上的文本更改innerHTML
- CSS-如何强制文本输入填充容器的剩余空间
- 如何居中打印()'d拉斐尔文本在一个空间
- 从Javascript文本框中删除制表符空间
- 如何检测文本框字段的空白空间
- 使用Javascript或CSS,如何在文本块的末尾添加额外的空间,但前提是它不是在新行开始
- 设置自动高度,取决于文本区域中有多少列,但显然它增加了空白空间
- 命名空间在读取文本区域中的 XSLT 时被删除
- 如何为文本字符串中找到的每个新空间触发一次警报