use*_*869 2 html javascript canvas image-editing fabricjs
我有一个使用 Fabric.js 的画布,用户可以在其中移动图像来进行设计。如何从每个单独的对象获取所有数据,以便可以在图像编辑器中重新创建它?
画布看起来像这样:
超文本标记语言
<div id="CanvasContainer">
<canvas id="Canvas" width="270" height="519"></canvas>
</div>
Run Code Online (Sandbox Code Playgroud)
脚本语言
//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())
}
Run Code Online (Sandbox Code Playgroud)
谢谢 :)
编辑:基本上,我想要 src、位置、比例、旋转。我想其他数据也不错,但这 4 个是最重要的。
有方法toObject()和toJSON()。
看看这里如何序列化画布。
例子:
var canvas = new fabric.Canvas('c');
JSON.stringify(canvas); // '{"objects":[],"background":"rgba(0, 0, 0, 0)"}'
// or
// JSON.stringify(canvas.toJSON());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3248 次 |
| 最近记录: |