Anonymous
Ткань: предотвратить переворот текста в группе
Сообщение
Anonymous » 27 май 2025, 06:37
просто хотел поделиться тем, что я узнал. Если вы используете Fabric.js и у вас есть группы с текстом, вам, возможно, потребуется, чтобы иногда текст не переворачивал. Вот мой код для справки: < /p>
Код: Выделить всё
const canvas = new fabric.Canvas('c')
const points = [{ x: 3, y: 4, }, { x: 16, y: 3, }, { x: 30, y: 5, }, { x: 25, y: 55, }, { x: 19, y: 44, }, { x: 15, y: 30, }, { x: 15, y: 55, }, { x: 9, y: 55, }, { x: 6, y: 53, }, { x: -2, y: 55, }, { x: -4, y: 40, }, { x: 0, y: 20, },
]
const poly = new fabric.Polygon(points, {
left: 200,
top: 50,
fill: 'yellow',
strokeWidth: 1,
stroke: 'grey',
scaleX: 5,
scaleY: 5,
objectCaching: false,
transparentCorners: false,
cornerColor: 'blue',
})
const text = new fabric.Text('hello text', {
left: 200,
top: 200,
fontSize: 20,
fill: 'red',
originX: 'center',
originY: 'center',
hasRotatingPoint: false,
lockScalingFlip: true
})
const group = new fabric.Group([poly, text], {
originX: 'center',
originY: 'center',
hasRotatingPoint: false
})
canvas.add(group)
canvas.on('object:scaling', function (e) {
const obj = e.target
const textObj = obj.item(1)
textObj.set({
flipX: obj.flipX,
flipY: obj.flipY
});
})< /code>
Подробнее здесь:
https://stackoverflow.com/questions/796 ... -the-group
1748317079
Anonymous
просто хотел поделиться тем, что я узнал. Если вы используете Fabric.js и у вас есть группы с текстом, вам, возможно, потребуется, чтобы иногда текст не переворачивал. Вот мой код для справки: < /p> [code]const canvas = new fabric.Canvas('c') const points = [{ x: 3, y: 4, }, { x: 16, y: 3, }, { x: 30, y: 5, }, { x: 25, y: 55, }, { x: 19, y: 44, }, { x: 15, y: 30, }, { x: 15, y: 55, }, { x: 9, y: 55, }, { x: 6, y: 53, }, { x: -2, y: 55, }, { x: -4, y: 40, }, { x: 0, y: 20, }, ] const poly = new fabric.Polygon(points, { left: 200, top: 50, fill: 'yellow', strokeWidth: 1, stroke: 'grey', scaleX: 5, scaleY: 5, objectCaching: false, transparentCorners: false, cornerColor: 'blue', }) const text = new fabric.Text('hello text', { left: 200, top: 200, fontSize: 20, fill: 'red', originX: 'center', originY: 'center', hasRotatingPoint: false, lockScalingFlip: true }) const group = new fabric.Group([poly, text], { originX: 'center', originY: 'center', hasRotatingPoint: false }) canvas.add(group) canvas.on('object:scaling', function (e) { const obj = e.target const textObj = obj.item(1) textObj.set({ flipX: obj.flipX, flipY: obj.flipY }); })< /code> [/code] Подробнее здесь: [url]https://stackoverflow.com/questions/79638567/fabricprevent-text-flipping-in-the-group[/url]