У меня есть набор букв.Слово построено из этих букв.Я перебираю идентификаторы данных, чтобы построить слово.
Однако я не могу сгруппировать их.
Если я вручную выберу буквы и попробую
canvas.getActiveObject().toGroup();
canvas.requestRenderAll();
, они сгруппируют их вместе.
Но мне нужно сделать это программно и при добавлении
canvas.add(img).setActiveObject();
он будет выбирать только последний объект, добавленный на холст.
Вот моя функция для построения слова
function buildImage(i) {
var wordo = jQuery('*[data-id="' + wordArray[i] + '"]').attr('src');
fabric.Image.fromURL(wordo, function(img, letterWidth) {
// fabric.Image.fromURL(tiles[i], function (img) {
img.scale(scaleO).set({
left: offset[i],
top: wordPositionY,
selectable: true,
cornerStyle: 'circle',
cornerColor: '#f6ff00',
cornerStrokeColor: '#f6ff00',
transparentCorners: false,
borderColor: '#f9f60b',
cornerSize: 22,
hasRotatingPoint: true,
id: 'letter'
});
img.setControlsVisibility({
mt: false,
mr: false,
mb: false,
ml: false
});
canvas.add(img);
});
}
, а вот цикл, который вызывает его
for (var i = 0; i < letters; i++) {
buildImage(i);
}
Я хочу добавить эти буквы на холст в виде группы, которая также может быть разгруппирована при необходимости.Есть ли способ сделать это?
Вот мой JSfiddle