سؤال

لذلك أنا بحاجة إلى حفظ بيانات الصورة مرسومة على <canvas> العنصر.وهناك toDataURL() الأسلوب الذي يعمل في المتصفح.

ما عدا...هل تفكر في ذلك...Internet Explorer.

بحثت في الانترنت ولكن في كل مكان الناس يقولون يجب استخدام SVG/VML لحفظ البيانات ، ولكنها لم تذكر كيف.ليس لدي أي خبرة مع SVG/VML في أي كيف يمكنني حفظ الصورة التي رسمها في عنصر قماش في إنترنت إكسبلورر ؟ هل من أحد لديه خبرة ؟

في هذه اللحظة, اضطررت إلى تكرار رسم رمز على كل من العميل و الخادم التي بدأت تتعقد.لذلك إذا كان هناك طريقة يمكن استخراج صورة مرسومة على قماش الوسم على العميل (أو خادم) الجانبية التي سوف تساعد بالتأكيد.

وذلك بفضل!

هل كانت مفيدة؟

المحلول

وكنت قد تكون قادرة على الحصول على VML ونفس ذلك ولكن هذا هو شكل XML، ولهذا ربما لا ما تريد. ليس هناك طريقة يمكنك الحصول على صورة من IE دون استخدام المكونات الإضافية.

نصائح أخرى

  1. قماش.toDataURL يعمل في IE9.

  2. إذا كنت حقا في حاجة إليها ل IE القديمة ..حسنا..سأعطيك اقتباس

toDataURL لن تكون معتمدة لأن من طبيعة الطريقة التي تستخدمها مستكشف قماش :VML.لم نجد طريقة تنقيط VML إلى صورة نقطية الصور باستخدام JS, و لا حتى مع البرنامج النصي من جانب الخادم.حتى إذا كنت حقا بحاجة toDataURL في أي سيكون لديك لاستخدام FxCanvas (http://code.google.com/p/fxcanvas/) أو FlashCanvas (http://flashcanvas.net/) :اثنين من الحلول القائمة على فلاش.

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

وكان لي نفس المشكلة. ما أريد القيام به هو تحويل قماش إلى صورة، ثم فتحه في علامة تبويب جديدة. لقد وجدت أن تحويل أنها ليست مشكلة، ولكن كان الافتتاح في وصلة جديدة. I حلها عن طريق توليد صورة، وضعه في علامة img، ثم بما في ذلك في صفحة جديدة. ثم فتحت قال صفحة جديدة باستخدام هذا البرنامج التعليمي - http://www.javascripter.net/faq/writingt . HTM

وهنا هو ما فعلته

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()
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top