Mesusjk
5 سال پیش توسط Mesusjk مطرح شد
5 پاسخ

بدست آوردن نسبت

سلام. وقتتون بخیر. من توی صفحه ام دوتا مربع دارم و یکیشون از دیگری بزرگتره. میخوام نسبت بین این دو مربع رو بدست بیارم. از چه راهی باید این کار رو بکنم؟ اندازه ها:
300 300
40
40


ثبت پرسش جدید
میلاد-م
تخصص : توسعه‌دهنده رابط کاربری - Fron...
@milad 5 سال پیش مطرح شد
0

درست متوجه منظورتون نشدم.
300/40 میشه 7.5


Mesusjk
تخصص : برنامه نویس جنگو و پایتون
@Mesusjk 5 سال پیش مطرح شد
1

@milad بله. درسته. همینو میخواستم 😀


Mesusjk
تخصص : برنامه نویس جنگو و پایتون
@Mesusjk 5 سال پیش مطرح شد
0

@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


میلاد-م
تخصص : توسعه‌دهنده رابط کاربری - Fron...
@milad 5 سال پیش مطرح شد
0

ببین دوست من، این سوال به همون اندازه که جاوااسکریپت توش مطرح هستش، نوعی مسئله هندسه و ریاضی هم به حساب میادش. من خودم توصیه می کنم، بیش از حد درگیر این مسئله نشی، ولی اگر هدفت اینه که با این تمرینات جاوااسکریپت خودت رو قوی کنی خوبه ها.
اما به نظر من بیشتر از حد درگیرش نشو و بخاطر بخش های محاسباتی هندسی و ریاضیاتی خودت رو درگیر نکن.
هر چند که با زمان زیاد مطمئنا به درک از راه حلش خواهی رسید.


میلاد-م
تخصص : توسعه‌دهنده رابط کاربری - Fron...
@milad 5 سال پیش مطرح شد
0

اما در خصوص بخشی از کدها که قرار دادی و متعیرهای cx و cy من برات توضیح میدم:
توی این مسئله یک عکس اولیه داریم: متغیر img و لنز رو داریم lens و همچنین عکس با بزرگنمایی result.

برای اینکه عکس با بزرگنمایی result رو بوجود بیاریم، چی کار می کنیم؟
خب طول و عرض عکس اولیه رو (یعنی img)، در نسبتی که می خوایم بزرگش کنیم ضرب می کنیم.
cx و cy نسبت بزرگنمایی ما هستند، یعنی اگه عرض عکس اولیه img.width در cx ضرب بشه، عرض عکس با بزرگنمایی result حاصل میشه. بهمین ترتیب هم ارتفاع عکس با بزرگنمایی result رو محاسبه می کنیم.


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام