"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > لماذا لا يقوم Canvas.toDataURL() الخاص بي بحفظ صورتي؟

لماذا لا يقوم Canvas.toDataURL() الخاص بي بحفظ صورتي؟

تم النشر بتاريخ 2024-11-07
تصفح:933

Why is my canvas.toDataURL() not saving my image?

حل مشكلات حفظ الصور باستخدام Canvas.toDataURL()

عند محاولة استخدام Canvas.toDataURL() لحفظ لوحة قماشية كصورة ، قد تواجه صعوبات، وإليك كيفية التعامل مع الموقف:

المشاكل والحلول

المشاكل:

ما يلي. هو رمز حفظ صورة اللوحة القماشية ولكنه لا يعمل:

// اللوحة القماشية المسماة "canvasSignature" جافا سكريبت: وظيفة وضع الصورة () { var Canvas1 = document.getElementById("canvasSignature"); إذا (canvas1.getContext) { var ctx = Canvas1.getContext("2d"); var myImage = Canvas1.toDataURL("image/png"); } var imageElement = document.getElementById("MyPix"); imageElement.src = myImage; } HTML5:
// Canvas named "canvasSignature"

JavaScript:

function putImage() {
  var canvas1 = document.getElementById("canvasSignature");
  if (canvas1.getContext) {
    var ctx = canvas1.getContext("2d");
    var myImage = canvas1.toDataURL("image/png");
  }
  var imageElement = document.getElementById("MyPix");
  imageElement.src = myImage;
}

HTML5:

الحل:

خطوة تحويل الصورة إلى دفق ثنائي مفقودة في الكود. قم بتعديل الكود إلى:

var image = Canvas.toDataURL("image/png").replace("image/png", "image/octet-stream"); window.location.href = image; // الحفظ محليًا
// Canvas named "canvasSignature"

JavaScript:

function putImage() {
  var canvas1 = document.getElementById("canvasSignature");
  if (canvas1.getContext) {
    var ctx = canvas1.getContext("2d");
    var myImage = canvas1.toDataURL("image/png");
  }
  var imageElement = document.getElementById("MyPix");
  imageElement.src = myImage;
}

HTML5:

يمكن للكود حفظ الصورة محليًا عن طريق تحويلها إلى دفق ثنائي ومعاملتها كملف.

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3