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

لماذا لا يتم رسم صورة القماش الخاصة بي؟ أهمية تحميل الصور غير المتزامن.

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

Why Does My Canvas Image Not Draw? The Importance of Asynchronous Image Loading.

انتظار تحميل الصورة قبل الرسم

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

لحل هذه المشكلة، تحتاج إلى إضافة وظيفة رد اتصال إلى حدث التحميل للصورة. سيتم تنفيذ وظيفة رد الاتصال هذه عند انتهاء تحميل الصورة، مما يضمن توفر بيانات الصورة قبل محاولة رسمها.

سينتظر الكود المصحح أدناه تحميل الصورة قبل رسمها إلى اللوحة القماشية. :

var canvas = document.getElementById('viewport'),
    context = canvas.getContext('2d');

make_base();

function make_base() {
  base_image = new Image();
  base_image.src = 'img/base.png';
  base_image.onload = function() {
    context.drawImage(base_image, 100, 100);
  };
}
أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3