2016-09-16 2 views
1

Ich bin neu auf Leinwand, aber habe einen guten Arbeitscode. Das Ergebnis besteht darin, eine Zeichenfläche zu generieren und sie anschließend in base64 zu konvertieren.Canvas toDataURL von String

Das Problem ist, dass, um es funktionieren zu lassen, ich brauche ein canvas-Element im HTML-Code zu haben, und ich muss das canvas Element auf der Seite nicht zeigen.

JS

var canvas = document.getElementById("canvas"); 
var context = canvas.getContext("2d"); 
... 
console.log(canvas.toDataURL()); 

HTML

<canvas id="canvas" width=64 height=64></canvas> 

Frage (n)

  • Kann ich ohne Zusatz eines Canvas-Element im HTML toDataURL?
  • Ist meine einzige Option, es mit CSS zu verstecken?
+0

Haben Sie versucht, ohne Element anhängen zu dokumentieren? – guest271314

Antwort

1

können Sie verwenden document.createElement()

var canvas = document.createElement("canvas"); 
 
var context = canvas.getContext("2d"); 
 
canvas.width = 64; 
 
canvas.height = 64; 
 
//.... 
 
console.log(canvas.toDataURL());

+1

Das hat funktioniert! Ich musste auch canvas.width = 64; und leinwand.height = 64; damit es funktioniert. Vielleicht kannst du das zu deiner Antwort hinzufügen? Ich danke dir sehr! –

+0

Wenn Sie dimensiobs angeben müssen, fügen Sie einfach die Dimensionen zu Ihrem Code hinzu. : D –

+0

@BrianPeacock Ja, aber meine Anforderung war, dass das Canvas-Element im Javascript erstellt wurde, einschließlich der Breite und Höhe, damit es wie erwartet funktioniert. Um anderen mit dem gleichen Problem zu helfen, finde ich es großartig mit einer kompletten Lösung. –

Verwandte Themen