0
加載此JSON有什麼問題? 選擇一個新對象,設置它的ID,添加並保存它。試圖重新加載JSON對象會導致一個空的畫布。加載此JSON有什麼問題?
function loadCanvas() {
canvas.clear();
window.alert(js);
canvas.loadFromDatalessJSON(js)
canvas.renderAll();
}
加載此JSON有什麼問題? 選擇一個新對象,設置它的ID,添加並保存它。試圖重新加載JSON對象會導致一個空的畫布。加載此JSON有什麼問題?
function loadCanvas() {
canvas.clear();
window.alert(js);
canvas.loadFromDatalessJSON(js)
canvas.renderAll();
}
儘量把這個JavaScript代碼:
var canvas;
$(function() {
canvas = window._canvas = new fabric.Canvas('c');
fabric.Labeledrect = fabric.util.createClass(fabric.Rect, {
type: 'labeledRect',
initialize: function (options) {
options || (options = {});
this.callSuper('initialize', options);
this.set('label', options.label);
this.set('id', options.id);
},
toObject: function() {
return fabric.util.object.extend(this.callSuper('toObject'), {
label: this.get('label'),
id: this.get('id')
});
},
_render: function (ctx) {
this.callSuper('_render', ctx);
ctx.font = '10px Helvetica';
ctx.fillStyle = '#333';
ctx.fillText(this.label, -this.width/2, -this.height/2 + 10);
ctx.fillText(this.id, -this.width/2, -this.height/2 + 30);
}
});
fabric.Labeledrect.fromObject = function (object, callback) {
return new fabric.Labeledrect(object);
}
fabric.Labeledrect.async = true;
});
function voegObjectToe() {
var myObjects = document.getElementById("myObjects");
var kenmerk = myObjects.options[myObjects.selectedIndex].text;
//nieuw object
var rect = new fabric.Labeledrect({
left: canvas.width/2,
top: canvas.height/2
});
if (kenmerk == 'Camper') {
rect.set({
width: 80,
height: 50,
fill: '#faa',
label: 'Camper',
id: document.getElementById("myObject").value
});
} else if (kenmerk == 'Caravan') {
rect.set({
width: 80,
height: 60,
fill: '#3ac',
label: 'Caravan',
id: document.getElementById("myObject").value
});
} else if (kenmerk == 'Auto') {
rect.set({
width: 70,
height: 40,
fill: '#bbb',
label: 'Auto',
id: document.getElementById("myObject").value
});
} else if (kenmerk == "Boot") {
rect.set({
width: 150,
height: 60,
fill: '#8d1',
label: 'Boot',
id: document.getElementById("myObject").value
});
}
canvas.add(rect);
rect.set({
label: kenmerk + ' ' + rect.width * 7 + ' cm',
rx: 8,
ry: 8
});
canvas.renderAll();
}
function saveCanvas() {
js = JSON.stringify(canvas.toDatalessJSON());
}
function loadCanvas() {
//window.alert(js);
canvas.clear();
canvas.loadFromDatalessJSON(js);
canvas.renderAll();
}
嗨,我有一個類似的問題,如果你可能能夠幫助? – null 2014-01-06 22:31:07
史蒂夫,你的問題是什麼? – ptCoder 2014-01-10 00:16:28
嗨,我解決了json問題(在擴展類時沒有意識到該類型必須是對象名稱),但是我確實有另一個可以幫助的問題?我有一個動畫循環,當一個對象檢測到碰撞時,我希望它將自己重置到開始位置,但它會移動到屏幕的一側。有什麼方法可以告訴你嗎? – null 2014-01-10 16:14:47