gpt4 book ai didi

fabricjs - 缩放 Fabric 组中的某些对象而不缩放其他对象?

转载 作者:行者123 更新时间:2023-12-03 06:33:18 24 4
gpt4 key购买 nike

我有一个包含文本对象和矩形对象的组。当缩放组时,我希望矩形对象更改大小,但文本对象保持相同大小。

有什么办法可以实现这一点吗?

最佳答案

数学!来救援!

看 fiddle !

http://jsfiddle.net/davidtorroija/w64bsnon/2/

  var line;
var canvas = this.__canvas = new fabric.Canvas('c');
fabric.Object.prototype.originX = fabric.Object.prototype.originY = 'center';

canvas.on({
'object:scaling': function(p){
console.log('p',p.target.ScaleX )
//p.target._objects[0].scaleX = p.target.scaleX
//p.target._objects[0].scaleY = p.target.scaleY

//p.target.scaleX = 1
//p.target.scaleY = 1
if (p.target.scaleX < 1)
p.target._objects[1].scaleX = 1 + (1 -p.target.scaleX )
else
p.target._objects[1].scaleX = 1 / (p.target.scaleX)
if (p.target.scaleY < 1)
p.target._objects[1].scaleY = 1 + (1 -p.target.scaleY)
else
p.target._objects[1].scaleY = 1 / (p.target.scaleY)

canvas.renderAll()
},
});

var rect = new fabric.Rect({top: 110, left:110, height: 100, width: 100, fill:'#ccc'})

var text = new fabric.IText('pepe',{text: 'pepe',top: 110, left:110, height: 100, width: 100, fill:'#000'})

var group = new fabric.Group([rect,text])

canvas.add(group)


<script src="http://fabricjs.com/lib/fabric.js"></script>
<canvas id="c" width="600" height="600"></canvas>

关于fabricjs - 缩放 Fabric 组中的某些对象而不缩放其他对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20407546/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com