Frage

Also ich brauche Bilddaten auf einem <canvas> Elemente gezogen zu speichern. Und es gibt die toDataURL () -Methode, die in den meisten modernen Browser funktioniert.

Außer ... Sie ahnen es ... Internet Explorer.

Ich habe im Internet gesucht, aber überall Leute sagen, sollte ich SVG / VML verwenden, um die Daten zu speichern, aber sie erwähnen nie, wie. Ich habe keine Erfahrung mit SVG / VML in IE so wie ich Bild in einem Canvas-Elemente in Internet Explorer gezogen speichern? Hat jemand Erfahrung?

Im Moment hatte ich den Zeichencode zu duplizieren auf dem Client und auf dem Server, die kompliziert zu werden beginnt. Also, wenn es einen Weg gibt, könnte ich das Bild auf der Leinwand-Tag auf dem Client (oder Server) Seite gezogen extrahieren, die sicherlich helfen hatte.

Danke!

War es hilfreich?

Lösung

könnten Sie in der Lage sein, die VML und gleicht das zu bekommen, aber das ist ein XML-Format, so das ist wahrscheinlich nicht das, was Sie wollen. Es ist nicht so, wie Sie ein Bild von IE bekommen kann ein Plug-in ohne Verwendung.

Andere Tipps

  1. canvas.toDataURL arbeitet in IE9.

  2. Wenn Sie es wirklich für altes IE benötigen .. gut .. ich werde Ihnen nur geben, ein Angebot

  

toDataURL wird nicht wegen der Natur der von verwendeten Verfahren unterstützt werden   Explorer Leinwand: VML. Wir fanden keinen Weg VML zu Bitmap rastern   Bilder JS, und nicht einmal mit einem Server-Seite Skript. Also wenn du   wirklich brauchen toDataURL in IE, werden Sie FxCanvas verwenden müssen   (Http://code.google.com/p/fxcanvas/) oder FlashCanvas   (Http://flashcanvas.net/.): Zwei Lösungen auf Basis von Flash-

http://code.google.com/p/explorercanvas/ Fragen / detail? id = 77

Ich hatte das gleiche Problem. Was ich tun wollte, war die Leinwand zu einem Bild zu konvertieren, dann öffnen Sie es in einem neuen Tab. Ich fand, dass es nicht das Problem, sondern Öffnung in einer neuen Verbindung war zu konvertieren. Ich löste es durch das Bild zu erzeugen, in einen img-Tag setzt, dann mit, dass in der neuen Seite. Ich öffnete dann die neue Seite dieses Tutorial mit - http://www.javascripter.net/faq/writingt HTM

Hier ist, was ich tat,

var canvas = document.getElementById('canvas1');
var dataURL = canvas.toDataURL();
var width = parseInt($("#main").width()); //main is the div that contains my canvas
var height = parseInt($("#main").height());
newWindow("<img src=\"" + dataURL + "\"/>");
function newWindow(content) {
    top.consoleRef = window.open("", "Organisational Structure",
        "width="+width+",height="+height
        + ",menubar=0"
        + ",toolbar=1"
        + ",status=0"
        + ",scrollbars=1"
        + ",resizable=1")
    top.consoleRef.document.writeln(
        "<html><head><title>Console</title></head>"
        + "<body bgcolor=white onLoad=\"self.focus()\">"
        + content
        + "</body></html>"
    )
    top.consoleRef.document.close()
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top