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

كيفية سلاسة الصور التي تم تغيير حجمها باستخدام JavaScript Canvas؟

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

How to Smooth Resized Images with JavaScript Canvas?

تجانس الصور التي تم تغيير حجمها باستخدام JavaScript Canvas

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

أحد الأساليب لتحقيق السلاسة هو تقليص الحجم في الخطوات . تتضمن هذه الطريقة تغيير حجم الصورة تدريجيًا، باستخدام زيادات أصغر. على سبيل المثال، بدلاً من تغيير حجم الصورة الأصلية مباشرةً إلى 50%، يمكنك أولاً تقليلها إلى 75%، ثم 62.5%، وهكذا. يقلل هذا الأسلوب التزايدي من تأثير استيفاء البكسل، مما يؤدي إلى نتيجة أكثر سلاسة.

var oc = document.createElement('canvas'),
    octx = oc.getContext('2d');

oc.width = img.width * 0.5;
oc.height = img.height * 0.5;
octx.drawImage(img, 0, 0, oc.width, oc.height);

// ...

ctx.drawImage(oc, 0, 0, oc.width * 0.5, oc.height * 0.5,
    0, 0, canvas.width, canvas.height);

هناك طريقة أخرى تتمثل في تعيين خاصية imageSmoothingQuality، المدعومة في المتصفحات الحديثة مثل Chrome. تتحكم هذه الخاصية في خوارزمية الاستيفاء المستخدمة لتغيير حجم الصورة. من خلال ضبطه على "عالي"، قد تتحول المتصفحات إلى طريقة استيفاء تكعيبي أكثر تقدمًا، مما يحسن سلاسة الصورة.

canvas.getContext('2d', { imageSmoothingQuality: "high" });
يسمح استخدام تصغير الحجم في خطوات أو ضبط جودة تجانس الصورة للمطورين بتحسين مظهر الصور التي تم تغيير حجمها باستخدام لوحة JavaScript، مما يؤدي إلى إنشاء نتائج جذابة بصريًا.

بيان الافراج أعيد طبع هذه المقالة على: 1729599615 في حالة وجود أي مخالفة، يرجى التواصل مع [email protected] لحذفها
أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3