2

ユーザーが画像を移動してデザインを作成できる Fabric.js を使用したキャンバスがあります。イメージ エディタで再作成できるように、個々のオブジェクトからすべてのデータを取得するにはどうすればよいですか?

キャンバスは次のようになります。

HTML

<div id="CanvasContainer">
    <canvas id="Canvas" width="270" height="519"></canvas>
</div>

ジャバスクリプト

//Defining Canvas and object array
var canvas = new fabric.Canvas('Canvas');
var canvasObject = new Array();

//When clicked
$(document).ready(function () {
    $("#Backgrounds img").click(function () {
        var getId = $(this).attr("id");

        //adding all clicked images
        var imgElement = document.getElementById(getId);
        var imgInstance = new fabric.Image(imgElement, {
            left: 135,
            top: 259,
            width: 270,
            height: 519
        });
        //Corner color for clicked images
        imgInstance.set({
            borderColor: 'white',
            cornerColor: 'black',
            transparentCorners: false,
            cornerSize: 12
        });
        canvas.add(imgInstance);
    });
});

$(document).ready(function () {
    $("#Extras img").click(function () {
        var getId = $(this).attr("id");

        //adding all clicked images
        var imgElement = document.getElementById(getId);
        var imgInstance = new fabric.Image(imgElement, {
            left: 135,
            top: 259,
            width: 270,
            height: 519
        });
        //Corner color for clicked images
        imgInstance.set({
            borderColor: 'white',
            cornerColor: 'black',
            transparentCorners: false,
            cornerSize: 12
        });
        canvas.add(imgInstance);
    });
});

//SideOptions------------
function deleteObject(){
    canvas.remove(canvas.getActiveObject());
}
function layerUpObject(){
    canvas.bringForward(canvas.getActiveObject());
}
function layerDownObject(){
    canvas.sendBackwards(canvas.getActiveObject());
}
function layerTopObject(){
    canvas.bringToFront(canvas.getActiveObject());
}
function layerBottomObject(){
    canvas.sendToBack(canvas.getActiveObject())
}

ありがとう :)

編集:基本的に、src、位置、スケール、回転が必要です。私が推測する他のデータも良いかもしれませんが、これらの4つが最も重要です.

4

1 に答える 1