javascript - 如何在调整大小后立即更新添加的 fabric.js 形状?
问题描述
我正在使用 Fabric.js 处理 Fabric Grid,我想添加添加到画布上的形状的尺寸。新的宽度和高度已定义,但我不仅需要在屏幕上显示尺寸,还需要在调整形状大小时对其进行更新。
下面是 JS 函数,其中newWidth
和newHeight
被定义:
function snapToGrid() {
let checkBox = document.getElementById("myCheck");
if (checkBox.checked == true) {
//snap only to the grid
const gridSize = 50;
c.on("object:moving", function (options) {
options.target.set({
left: Math.round(options.target.left / gridSize) * gridSize,
top: Math.round(options.target.top / gridSize) * gridSize,
});
});
c.on("object:modified", function (options) {
var newWidth =
Math.round(options.target.getWidth() / gridSize) * gridSize;
var newHeight =
Math.round(options.target.getHeight() / gridSize) * gridSize;
options.target.set({
width: newWidth,
height: newHeight,
scaleX: 1,
scaleY: 1,
});
});
} else {
c.off("object:modified");
c.off("object:moving");
}
}
我是 Fabric.js 的新手,如果有人帮助我,我将不胜感激。如果我必须分享代码的更多详细信息,请告诉我。
解决方案
好的,所以我已经回答了我自己的问题,所以如果有人需要,下面的代码将有助于在更改时动态显示形状的宽度和高度。
function onObjectScaled(e){
var scaledObject = e.target;
var text = document.getElementById("text");
text.value = 'Width = '+scaledObject.getWidth() + ' Height = '+scaledObject.getHeight();
}
推荐阅读
- elasticsearch - 弹性搜索多个“和”查询
- c# - 我需要做什么才能在 Visual Studio 2013 上发布用 c# asp.net 制作的网站?
- php - mysql中的多个插入输入数据
- java - Spring Boot:自定义属性配置和测试
- javascript - 使用鼠标滚轮放大、缩小画布
- ios - Swift Firebase 多线程问题
- scala - 设计用于从通道读取的引用透明函数
- javascript - 在 ./ 目录 testcafe 中保存屏幕截图
- firefox - 如何在 Firefox 附加组件管理器的更详细的附加页面上设置第二个图像?
- bash - 别名后,脚本没有变量