Пытается создать объект группы с изображением и текстовым объектом. Это похоже на значок, за которым следует текст. Неправильное выравнивание объектов. Я могу вручную установить левый, верхний и настроить их, но текст, шрифт и т. Д. Может измениться во время выполнения.Выравнивание изображения и текста в групповом объекте
Когда длина шрифта/текста изменяется, выравнивание снова перепутано. Есть ли способ обеспечить, чтобы текст всегда начинался после изображения (независимо от длины текста, шрифта и т. Д.)
Если для этого не существует способа для создания ткани, есть ли способ обхода проблемы? Вот код, который я попробовал, и ссылка jsFiddle ниже, вы можете видеть, как изображение и текст перекрываются. Благодарю.
var canvas = new fabric.Canvas('canvas');
fabric.Image.fromURL('http://i.imgur.com/vews5Vd.jpg', function(img) {
var img1 = img.scale(1).set({ left: 0, top: 0 });
var text = new fabric.Text('the_text_sample', {
fontFamily: 'Arial',
fontSize:30,
left:img1.width,
top:10,
});
var group = new fabric.Group([ img1,text ], { left: 200, top: 200 });
canvas.add(group);
});
Я имею в виду, чтобы выровнять их по горизонтали, а не вертикально. Как это http://i.imgur.com/7MwRSa0.jpg. Проблема заключается в том, что с моим текущим кодом текст перекрывается с изображением, когда текст слишком длинный, и есть разрыв между ними, когда текст слишком короткий. – redGREENblue
Используются те же самые понятия: TOP: text.set ("top", -img.height * scaleFactor/2 + text.getBoundingRectHeight()/2); - LEFT: text.set ("left", img.width * scaleFactor/2 + text.getBoundingRectWidth()/2); Еще одна скрипка: http://jsfiddle.net/m1erickson/YUxwR/ – markE