在fabric.js中修改对象后,如何获取Text对象的字体大小?
以下是我的代码.
var text = new fabric.Text(imgText, {
left: 10,
top: 5,
fontSize: 15,
fontFamily: 'Verdana',
fill: 'white'
});
text.scaleToWidth(canvas.width * 0.5);
text.setControlsVisibility(canvasConfig);
canvas.add(text);
canvas.renderAll();
var objects = canvas.getActiveObject();
var obj = objects;
if (!obj) {
return;
}
//console.log(obj.get('fontSize') *= obj.scaleX);
var angle = obj.get('angle');
var objWidth = obj.get('width') * obj.scaleX;
var objWidthPercent = objWidth / canvas.width * 100;
var objHeight = obj.get('height') * obj.scaleY;
var objHeightPercent = objHeight / canvas.height * 100;
var bound = obj.getBoundingRect();
var …Run Code Online (Sandbox Code Playgroud) 这是我的代码。
<canvas id="c" width="240" height="300" style="border:1px solid #000000"></canvas>
<script>
var canvas = new fabric.Canvas('c');
canvas.backgroundColor = 'yellow';
canvas.renderAll();
fabric.Image.fromURL(<?php echo '"' . $url . '"'; ?>, function(myImg) {
var img1 = myImg.set({ left: 0, top: 0 ,width:150,height:150});
canvas.add(img1);
});
function objectMovedListener(ev) {
let target = ev.target;
console.log('left', target.left, 'top', target.top, 'width', target.width * target.scaleX, 'height', target.height * target.scaleY);
}
canvas.on('object:modified', objectMovedListener);
</script>
Run Code Online (Sandbox Code Playgroud)
我不明白出了什么问题。对象位置 TOP & LEFT 显示正确,但高度和宽度推错了。
请帮我。