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

كيفية تحديد حجم الصورة الأصلي بعد تغيير الحجم من جانب العميل عبر المتصفحات؟

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

How to Determine the Original Image Size After Client-Side Resizing Across Browsers?

تحديد حجم الصورة الأصلية عبر المتصفحات

يمكن أن يكون تحديد الأبعاد المادية الأصلية للصورة التي تم تغيير حجمها من جانب العميل أمرًا التحدي عبر المتصفح. ومع ذلك، هناك طرق موثوقة ومستقلة عن إطار العمل لتحقيق ذلك:

الخيار 1: قراءة أبعاد الصورة الديناميكية

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

الخيار 2: كائن صورة JavaScript

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

مثال الكود:

function getImgSize(imgSrc) {
  var newImg = new Image();

  newImg.onload = function() {
    var height = newImg.height;
    var width = newImg.width;
    alert('The image size is '   width   '*'   height);
  };

  newImg.src = imgSrc; // Do this after setting `onload`
}

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

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

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

Copyright© 2022 湘ICP备2022001581号-3