يجب أن يتم إنشاء صور للمستخدمين ، وينبغي أن يتم توصيلها على حجم المعاينة من خلال المعاينة ، إذا كانت الصورة كبيرة جدًا ، يجب أن يتم إنشاء الصور ، ويجب أن يتم توليد الصور ، ويجب أن يتم توليد الصور ، ويجب أن يتم توليد الصور ، ويجب أن يتم تطبيقها مع المعاينة ؛ يحتاج إلى تكبير في تناسب. كما هو موضح أدناه.
إلقاء نظرة ، يمكنك استخدام محاذاة النص: لتحقيق ذلك. بالتناسب ، لا يمكن حل سمات العرض والارتفاع التي تستخدم الإعداد المسبق <img />. لأن صور المستخدم قد تكون طويلة جدًا أو واسعة جدًا. فكرت في علاقتهم عبر الإنترنت ، وحكم على أن هذا كما يلي:
إذا (العرض الفعلي> معاينة الحد الأقصى عرض) {
عرض التحجيم = معاينة أقصى عرض
}
إذا (الارتفاع الفعلي> معاينة الحد الأقصى للارتفاع) {
ارتفاع التحجيم = معاينة أقصى ارتفاع
}
ومع ذلك ، ستكون هناك مشاكل. من أجل السماح بتوسيع نطاقها ، يجب إصدار أحكام مختلفة. ثم ينتهك مبدأ أملنا في الأتمتة. فكر مرة أخرى ، على الرغم من أنك لا تحب الرياضيات ، لكن الرياضيات لا تزال مفيدة للغاية ، يجب أن تكون هناك طرق أخرى. نظرًا لأنه يتم تحجيمه بالتناسب ، فلماذا لا تستخدم نسبة الصور الفعلية وعرض منطقة المعاينة لحساب علاقتها؟ هممم ... بخير حقًا. في الواقع ، نحتاج فقط إلى التكبير في العرض أو الارتفاع. لأن النسبة كبيرة وصغيرة فقط. على وجه التحديد ، اكتب وظيفة لتنفيذها:
نسخ رمز رمز على النحو التالي:
/**
* تم تكبير الصورة بنسبة تكيفية
* param img {element} صور تم تحميلها بواسطة المستخدم
* param maxwidth {number} أقصى عرض لمنطقة المعاينة
* param maxheight {number} أقصى ارتفاع لمنطقة المعاينة
*/
var resizeimg = function (img ، maxwidth ، maxheight) {
var w = img.width ،
h = img.head ؛
// عندما لا تقوم الصورة بأي تغييرات من ساعات المعاينة
if (w <maxwidth && h <maxheight) return ؛
// عندما تكون نسبة الصورة الفعلية أكبر من نسبة عرض وارتفاع منطقة المعاينة
// تحجيم عرض الصورة ، وإلا تحجيم عرض الصورة
w/h> maxwidth/maxheight؟