我有一个包含多个image objects
的画布。每个对象都有一些自定义属性。我需要将此画布作为json对象保存到数据库中。我使用以下代码将canvas转换为json。
canvasJson = JSON.stringify(canvas);
转换后,canvasJson
不能包含任何自定义属性及其值。它只有默认属性,而且它的值包括宽度,高度,不透明度等。
我该如何解决?请提出一些正确的解决方法...
修改
以下是我在画布中创建图像对象的图像对象创建代码。
var imgObj = new Image();
var imgSrc = $IMAGE_URL;
imgObj.src = imgSrc;
var image = new fabric.Image(imgObj);
image.set({
left: 0,
top: 0,
angle: 0,
padding: 0,
cornersize: 0,
lockMovementX: true,
lockMovementY: true,
lockRotation: true,
elementId: $elementID,
elementname: $elementName,
elementstatus: $elementStatus,
width: componentImageWidth,
height: componentImageHeight
});
canvas.add(image);
image.setCoords();
canvas.renderAll();
canvas.selection = false;
canvas.renderAll();
setObjectAction(image, false);
使用JSON.stringify(canvas);
将画布转换为json elementId
,elementname
和elementstatus
丢失。但默认属性是正确的。
如何解决这个问题?
答案 0 :(得分:4)
您可以使用fabric的canvas.toJson()或canvas.toDatalessJSON()函数,并且可以将自定义属性包含为如下参数:
<meta http-equiv="refresh" content="<%=session.getMaxInactiveInterval()%>" url="redirect URL" />