canvas.toDataURL() für die große Leinwand

Ich habe ein problem mit .toDataURL() für die große Leinwand. Ich möchte enconde in base64 - und entschlüsseln in php Datei, aber wenn ich eine große Leinwand die strDataURI variable leer ist.

Mein code:

var strDataURI = canvas.toDataURL();
strDataURI = strDataURI.substr(22, strDataURI.length);
$.post("save.php",
{ 
   str: strDataURI
};

Gibt es keine alternative zur .toDataURL() oder in irgendeiner Weise zu ändern, die Größe zu begrenzen?

Dank.

  • Welcher browser, oder ist es alle? IE hat Beschränkungen auf die Größe der data-URL.
  • Welchen browser benutzt du und welche Größe hat deine Leinwand eigentlich haben?
  • Mein browser ist Google Chrome, aber ich habe getestet, in anderen Browsern. Ich weiß nicht, was ist meine Leinwand Größe, aber die Maße sind 20000x20000 Pixel. Danke.
  • Ein 20000x20000 pixel-Bild in eine data-URL über 2 GB Größe. Bearbeiten warten, mehr wie 4 Gigabyte, als JavaScript-strings in UTF-16.
  • Haben Sie vielleicht mehr Glück mit einem Blob in diesem Fall eher als ein Daten-uri; HTMLCanvasElement.toBlob
  • Gibt es irgendeine andere Möglichkeit? Wie speichern Sie Bilder direkt mit jquery? Das problem ist, da ich eine Leinwand wie 2000x2000 Pixel, aber ich brauche, um die Größe alle canvas-Elemente und Pixel, da muss ich konvertieren Sie das Bild in 300 DPI (zum Beispiel)...
  • Ich thnk, dass ein problem in Bezug auf <canvas> die Größe begrenzen, wie dies stackoverflow.com/questions/6081483/...
  • Export der canvas Inhalt als SVG-würde es nicht getan haben? Vektoren gerendert werden kann, in jeder Größe... sobald es fertig ist Sie einfach der Ausgabe ein PNG aus der SVG-wenn Sie ein echtes Bild.

InformationsquelleAutor ptCoder | 2013-04-22
Schreibe einen Kommentar