Wie würde ich ein Canvas-Objekt, wie das folgende, serialisieren?Speichern Sie ein Canvas-Objekt als JSON
context.beginPath();
context.rect(188, 50, 200, 100);
context.fillStyle = 'yellow';
context.fill();
context.lineWidth = 7;
context.strokeStyle = 'black';
context.stroke();
Da es prozedural mit der Leinwand Zusammenhang der Interaktion ist (ist das die richtige Terminologie?) Ich glaube nicht, es ist möglich. Aber ich möchte Objekte wie diese so speichern, dass es einfacher ist, sie zu manipulieren.
Ich meine, wie könnte ich zwei Elemente wie das oben, aber nur die x, y Startpositionen ändern? Alles, woran ich denken kann, ist eval
, aber ich weiß, dass das Zeichnen auf der Leinwand schrecklich verlangsamen würde.
Serialisierung erzeugt eine Zeichenfolge. Sie müssten diese Zeichenfolge nicht json-ify, es sei denn, Sie planen, sie in einem json-Kontext zu verwenden, z. Senden Sie es durch eine Ajax-Anfrage, und selbst dann könnten Sie einfach 'JSON.stringify ({data: var_with_serialized_object})' –
Ich würde die Daten aus dem Objekt, nicht das Objekt (Canvas) selbst speichern, so später rufen Sie die Informationen, um die ursprüngliche Leinwand zu reproduzieren ... aber gut ist nur der Ansatz, der meiner Meinung nach praktischer wäre ... –