fabricjs - Fabric.js:画布右半部分的文本位置(水平中心)
问题描述
“centerH()”将文本定位在整个画布大小的水平中心。我想将我的文本居中在右半部分(好像左边画布的 50% 被裁剪了)。我可以实现一个while循环,它总是检查左右的距离,直到它相等,但也许有更简单的方法来做到这一点?
解决方案
您可以将文本的左侧设置为画布宽度的一半。
text.set({
left:canvas.width/2
});
var canvas = new fabric.Canvas('canvas');
var text = new fabric.Text('FabricJS',{
left:10,top:20
});
canvas.add(text);
function setToCenter(){
text.set({
left:canvas.width/2
});
text.setCoords();
canvas.requestRenderAll();
}
canvas {
border: 1px solid #999;
}
<script src="https://rawgit.com/kangax/fabric.js/master/dist/fabric.js"></script>
<button onclick='setToCenter()'>Center</button>
<canvas id="canvas" width="400" height="400"></canvas>
推荐阅读
- material-ui - 如何使用 Material UI Grid 在 React Admin 中组织 Show 布局
- jquery - $("#divElement").html() 不向其中添加 html 数据
- macos - 沙箱化基于 X11 的应用程序
- graphics - 为什么camera.LookAt,当相机在(0,0,0)时,说它绕轴转动-90度看(1,0,0)?
- mysql - 统计并显示每条记录数
- matlab - 如何在 MATLAB 中使用颜色图将缩放的颜色条添加到线图中?
- typescript - 不能将 @type/node 与 typescript 3.2 一起使用
- php - 如何从包含总目录路径的数组中递归创建 ZIP 文件,而其中不包含 pdf 的名称
- r - 2个文档术语矩阵之间的余弦相似度
- mysql - 为什么撤消 MySQL innodb 缓冲池中的日志条目 (MySQL 5.7)