私はfabricjs 1.7.21を使用していて、テキストを追加するボタンがあります。単一のITextオブジェクトで可能なように、複数の編集可能なITextフィールド(右側を参照)などのオブジェクトのグループをキャンバスに追加するにはどうすればよいですか?グループ化されたままの別個のオブジェクトのグループを追加するにはどうすればよいですか?
つまり、右側のようなものをクリックして追加し、グループとして移動できるようにしたいと考えています。
var canvas = new fabric.Canvas("c");
canvas.setHeight(500);
canvas.setWidth(500);
// Add Text
function Addtext() {
var text = new fabric.IText("Type...", {
fontSize: 30,
top: 10,
left: 10,
width: 200,
height: 200,
textAlign: "center"
});
canvas.add(text);
canvas.setActiveObject(text);
text.enterEditing();
text.selectAll();
text.renderCursorOrSelection(); // or canvas.renderAll();
canvas.isDrawingMode = false;
}
// Right Side Objects
// Header Constants
const toppers = {
fontSize: 27,
hasBorders: true,
hasControls: false,
left: 380,
lockMovementX: true,
lockMovementY: true,
lockRotation: true,
originX: "center",
originY: "center",
selectable: true,
align: "mid",
centeredScaling: true,
};
const headingOne = {
lockMovementX: true,
lockMovementY: true,
originX: "center",
originY: "center",
selectable: true,
align: "mid",
fontSize: 14,
fontStyle: "italic",
hasBorders: true,
hasControls: false,
hasRotatingPoint: false,
left: 380,
};
const headingTwo = {
align: "mid",
centeredScaling: true,
fontSize: 20,
hasBorders: true,
hasControls: false,
hasRotatingPoint: false,
lockMovementX: true,
lockMovementY: true,
lockRotation: true,
originX: "center",
originY: "center",
selectable: true,
left: 380,
};
canvas.add(new fabric.IText("Some Text", {
...toppers,
top: 25,
}));
canvas.add(new fabric.IText("Some Text", {
...toppers,
fontWeight: "bold",
top: 60,
}));
canvas.add(new fabric.IText("Some Text", {
...headingOne,
top: 90,
}));
canvas.add(new fabric.IText("Some Text", {
...headingTwo,
top: 110,
}));
canvas {
border: 1px solid #dddddd;
margin-top: 10px;
border-radius: 3px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/fabric.js/1.7.21/fabric.min.js"></script>
<button onclick="Addtext()">Add Text</button>
<canvas id="c"></canvas>
ヒントありがとうございます!あなたがこれを言っているのかどうかは分かりませんが、ITextフィールドのグループを追加しようとしています。たとえば、上記のコードでは、少数のテキストオブジェクトがあります。これらのオブジェクトをすべてワンクリックで追加したいと思います。それらは一緒にロックされています。 –