javascript - FabricJS:垂直对齐文本中心
问题描述
我正在使用fabricjs 1.5,并且我坚持垂直对齐行中间的文本。我正在使用此代码来设置行高
text.setProperty('lineHeight', $scope.lineHeight.current);
它会更改画布上文本的行高,但文本始终保留在顶部。我希望它位于垂直中间。请帮忙。
解决方案
- 将文本原点设置为“中心”
- 将文本位置设置为框中心
const box_width = 100
const box_height = 100
// box
var rect = new fabric.Rect({
width: box_width, height: box_height,
fill: false, stroke: '#000',
})
// text
// vertical align = center
var text = new fabric.Text(
'hello', {
originX: 'center', originY: 'center',
left: 0.5*box_width, top: 0.5*box_height,
})
// group
var group = new fabric.Group(
[rect, text], {
left: 50, top: 50,
})
canvas.add(group)
推荐阅读
- asp.net-web-api - 如何在 Web API 中全局设置 HttpPost 属性?
- azure-functions - Azure Functions 使用静态属性测试函数
- java - OpenAPI 生成器的 Gradle 配置
- r - 为了好玩:为朋友的生日 T 恤编码波函数/正弦曲面
- octobercms - 在 OctoberCMS 中发送服务到期的电子邮件通知
- java - websphere liberty - 无法使用 slf4j 或 log4j 生成特定于应用程序的日志记录
- node.js - 如何在进一步执行函数之前等待循环中的所有回调
- c# - 如何在二进制源代码中找到特定的二进制结果?
- node.js - 而不是上传文档,我只需要在 nodejs 中选择路径
- mysql - 我无法更改数据库列