@milad راستشو بخواید، دارم توی سایت W3 تمرین میکنم و تمرین درمورد این بود که وقتی ماوس روی یک عکسی بره، با توجه به مکان ماوس، یک تصویر زوم شده به ما خروجی بده و خروجی اون رو توی یه div به ابعاد 300 در 300 پیکسل نمایش بده.
اما من یه قسمت از کدهای جاوااسکریپتشو متوجه نشدم. توی کدهای جاوااسکریپت برای بدست آوردن نسبت بین این دو مربع(مربعی که مثل ذره بین روی عکس قرار میگیره و مربع بعدی ، مربعی هست که نتیجه رو نشون میده). توی کدها اینطوری نوشته شده:
cx = result.offsetWidth / lens.offsetWidth;
cy = result.offsetHeight / lens.offsetHeight;
الان نتیجه این دوتا 7.5 میشه. ولی مشکل اصلی من اینه که نمیدونم این نتیجه به چه درد میخوره دقیقا! اگه لازم شد، این آدرس اون صفحه س:
https://www.w3schools.com/howto/howto_js_image_zoom.asp
ببین دوست من، این سوال به همون اندازه که جاوااسکریپت توش مطرح هستش، نوعی مسئله هندسه و ریاضی هم به حساب میادش. من خودم توصیه می کنم، بیش از حد درگیر این مسئله نشی، ولی اگر هدفت اینه که با این تمرینات جاوااسکریپت خودت رو قوی کنی خوبه ها.
اما به نظر من بیشتر از حد درگیرش نشو و بخاطر بخش های محاسباتی هندسی و ریاضیاتی خودت رو درگیر نکن.
هر چند که با زمان زیاد مطمئنا به درک از راه حلش خواهی رسید.
اما در خصوص بخشی از کدها که قرار دادی و متعیرهای cx و cy من برات توضیح میدم:
توی این مسئله یک عکس اولیه داریم: متغیر img و لنز رو داریم lens و همچنین عکس با بزرگنمایی result.
برای اینکه عکس با بزرگنمایی result رو بوجود بیاریم، چی کار می کنیم؟
خب طول و عرض عکس اولیه رو (یعنی img)، در نسبتی که می خوایم بزرگش کنیم ضرب می کنیم.
cx و cy نسبت بزرگنمایی ما هستند، یعنی اگه عرض عکس اولیه img.width در cx ضرب بشه، عرض عکس با بزرگنمایی result حاصل میشه. بهمین ترتیب هم ارتفاع عکس با بزرگنمایی result رو محاسبه می کنیم.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟