用户分三步创建自定义标签。第一步,他们从我们的库中选择一个具有遮罩区域的模板图像。第二步允许他们上传个性化图像,该图像位于第一步加载的图像后面。有一些外部控件允许用户缩放和移动图像,以便在遮罩区域中渲染。第三步允许他们添加文本。
我希望用户能够将他们的标签保存到他们的库中,以便他们可以再次使用它,但能够修改这三个步骤中的任何一个。这意味着我需要将stage序列化为JSON字符串,但图像属性不会保存在JSON中。
JSON字符串:
[{“attrs”:{“name”:“template”},“className”:“Image”}]
},{“attrs”:{},“className”:“Layer”,“children”:[{“attr”:{“x”:160,“y”:41.5,“text”:“[在此处输入名称]”,“fontSize”:30,“fontfamine”:“Calibri”,“fill”:“#555”,“Name”:“textundefined”,“align”:“center”,“draggable”:true,“offsetX”:114.2219140625},“className”:“text”}]}]}
function save() {
var json = stage.toJSON();
var dataURL = stage.toDataURL('image/png');
//alert(json);
$.ajax({
type: "POST",
url: "label-maker/image-handler.php?action=save",
data: {jsonFileText: json, image: dataURL},
error: function (request, error) {
console.log(arguments);
alert(" Can't do because: " + error);
},
success: function () {
alert(" Done ! ");
}
});
}