fabric.js中的文本对齐方式未按预期工作
Text alignment not working as expected in fabric.js
我的项目需要能够在画布上插入文本,用户可以指定文本是左对齐、右对齐还是在指定的边界框中居中。我正在使用fabric.js并设置textAlign的值,但它并没有像我预期的那样工作。我指定的x位置始终是文本的左边缘。如果我将textAlign设置为"居中",并且有多行文本,它们确实相对于彼此居中,但它们不在边界框中居中;相反,我指定的X位置始终是最长直线的左边缘。
设置元素的代码如下:
var text = new fabric.Text(this.getText(), {
hasControls: false,
selectable: false,
fontSize: this.getPointSize(),
fontFamily: this.getTypeface(),
fill: this.getColor(),
left: xpos,
top: pos.y,
originX: pos.originx,
originY: pos.originy,
width: this.getWidth(),
height: this.getHeight(),
fontWeight: weight,
fontStyle: fstyle,
textAlign: alignment
});
我想要的是绘制右对齐文本,其右边缘是指定的X位置,或者居中文本,其居中在指定的左边缘和右边缘之间的中点。有没有一种方法可以使用织物和/或画布来实现这一点?
我想你想要的是fabric.Textbox
,不是吗?
功能fabric.Textbox
尚未发布,但github上有一个pull请求。https://github.com/kangax/fabric.js/pull/1778
等待新版本会更好,但是,如果您尽快需要此功能,您可以从发出pull请求的分支使用它。https://github.com/PosterMyWall/fabric.js/tree/TextboxPullRequest
相关文章:
- 为什么这在IE中的工作方式与在Firefox中不同
- 如何获得一个与用“”声明的变量工作方式相同的变量;设“;或在with块中
- javascript中的闭包对我来说工作方式不同
- for循环在node.js中的工作方式
- document.getElementsByClassName的工作方式与getElementById不同
- jQuery的工作方式不一样
- fabric.js中的文本对齐方式未按预期工作
- 为什么模块化幂函数在 Python 和 Javascript 中对于大数字的工作方式不同
- 自动滚动工作方式不同
- 布尔表达式-与AND、OR逻辑运算符混淆以及它们的工作方式
- Javascript ORing在变量中的工作方式
- Chrome扩展和Chome浏览器中的Jquery工作方式不同
- Async.js队列工作程序未完成
- .htaccess和.htpasswd的内部工作方式
- window.location在IE9和FF中的工作方式不同
- jQuery .focus() 在每个浏览器中的工作方式不同.如何防止这种情况
- jquery-ajax 在 Mozilla 和 Chrome 中的工作方式不同
- 字符串包在 Firefox 25 中的工作方式不同
- 加载的JS的工作方式与硬编码不同
- 未定义,您的工作方式