Fa تشخیص رزولوشن تصویر

hrs192

Member
سلام
تو یک پروژه که قراره تمام صفحه ایجاد بشه باسه زیباییش خیلی مهم هست که طراحی ما به کنتراست صفحه بخوره

من دو نسخه از پروژم ساختم یکی در اندازه معمولی (1024*768) و یکی در اندازه واید (1360*768)

به چیزی نیاز دارم که تشخیص بده مانیتور کاربر معمولیه یا وایده و متناسب با آن پروژه مربوط را باز کنه
 

MahmoodM30

مدیر <A href="http://forum.majidonline.com/forums/
دوست عزي با استفاده از کد زير ميتونيد رزوليشن مانيتور رو بدست بياريد و نشون بديد بعد توي يه شرط IF ازش استفاده کنيد.

درضمن بهتره به جاي ايجاد دونمونه از يک پروژه اشياي داخل پروژه رو جابه جا کنيد.

PHP:
WR=ScreenWidth()
HR=ScreenHeight()
Message("ScreenWidth :","WR")
Message("ScreenHeight :","HR")
 

hrs192

Member
دوست عزي با استفاده از کد زير ميتونيد رزوليشن مانيتور رو بدست بياريد و نشون بديد بعد توي يه شرط if ازش استفاده کنيد.

درضمن بهتره به جاي ايجاد دونمونه از يک پروژه اشياي داخل پروژه رو جابه جا کنيد.

PHP:
wr=screenwidth()
hr=screenheight()
message("screenwidth :","wr")
message("screenheight :","hr")

خوب محمد عزیز من کد جابجایی و تغییر سایز اشیاء و تغیر سایز صفحه را بلد نیستم
میتونی راهنماییم کنی ؟
با تشکر فراوان
 
آخرین ویرایش:

reza zareie

Active Member
براي جابجايي ميتونيد بسته به نيازتون از Move To و MoveObjectاستفاده كنين
کد:
MoveObject("نام آبجكت","مختصات شي")
MoveTo("نام آبجكت","مختصات")
براي تغيير سايز صفحه :
کد:
SysCommand("ResizeWindow","x,y")
به جاي xوyاندازه صفحه رو وارد كنيد
:rose:
 

hrs192

Member
براي جابجايي ميتونيد بسته به نيازتون از Move To و MoveObjectاستفاده كنين
کد:
MoveObject("نام آبجكت","مختصات شي")
MoveTo("نام آبجكت","مختصات")

:rose:
دوست من move object با move to چه فرقی دارن ؟
و باسه تغییر اندازه یک شی چی کار کنم ؟
 

MahmoodM30

مدیر <A href="http://forum.majidonline.com/forums/
شکل کلی دستور MoveObject

PHP:
MoveObject("ObjectLable","x,y[,w,h]")

که برای جابجایی و تغییر اندازه شی اسنفاده میشه که پارامتر اول نام شی و پارامتر دوم

که دارای 4 قسمته که x و y مکان قرار گرفتن شی رو تعیین میکنه و W و h اندازه شی رو تعیین میکنه
PHP:
MoveTo("ObjectLable","Parameters")
MoveTo("ObjectLable","x,y,Step,animType")
از این فرمان برای جابجایی اشیا در پروژه استفاده میشه با این تفاوت که این جابه جایی میتواند دارای افکت هایی نیز باشد

x : فاصله افقی شی از سمت راست پروژه

y : فاصله عمودی شی از قسمت بالای پروژه

Step : سرعت تعیین شی رو تعیین میکنه هرچی عدد کوچکتر سرعت بیشتر

animType : حرکت شی رو تعیین میکنه EASYTO با این پارامتر حرکت میکنه و سرعت در انتها کاهش پیدا میکنه

EASYFROM به آرامی حرکت میکنه و سرعت افزایش پیدا میکنه
 

hrs192

Member
گفتم اگر تو همین پست مطرح بشه بهتر هست
چیزی میخوام که همراه با تغییر اندازه صفحه و حرکت ابجکت ... دیسپلی رزولوشن را هم تغییر بده
PHP:
SysCommand("DisplayResolution","x,y"]
این را امتحان کردم جوابی نگرفتم
:cry:
 

MahmoodM30

مدیر <A href="http://forum.majidonline.com/forums/
شما میخوایید هنگام حرکت یک شی رزولیشن رو هم تغییر بدید فقط یک بار یا به صورت مداوم؟

میشه دقیق توضیح بدید این کار رو برای چی میخوایین انجام بدید؟
 

hrs192

Member
میخوام با باز شدن برنامه رزولشن تنظیم بشه
نمیخوام از تو پروجکت ستینگ اینکار را بکنم چون باسه همون دفعه اول باید انتخاب بشه بین دو گزینه کدوم لزولشن استفاده میشه
 

MahmoodM30

مدیر <A href="http://forum.majidonline.com/forums/
اگه منظورت از رزولیشن تغییر اندازه صفحه پروژتون هست که باید بگم توی پیج استارتتون این کد رو بنویسید حله

PHP:
SysCommand("ResizeWindow","300,400")


در ضمن میشه توی پرسیدن سوال دقت کنید توی صحیح نوشتن هم همینطور

الان منظورتون از این چیه : بین دو گزینه کدوم لزولشن استفاده میشه
 

hrs192

Member
اگه منظورت از رزولیشن تغییر اندازه صفحه پروژتون هست که باید بگم توی پیج استارتتون این کد رو بنویسید حله

PHP:
SysCommand("ResizeWindow","300,400")


در ضمن میشه توی پرسیدن سوال دقت کنید توی صحیح نوشتن هم همینطور

الان منظورتون از این چیه : بین دو گزینه کدوم لزولشن استفاده میشه

ممنون ولی منظور بنده ResizeWindow (تغیر اندازه پروژه) نیست
من DisplayResolution (سایز پیکسلی نمایشگر) هست که موقع طراحی در پنجره Project Setting قابل دسترس میباشد
سوال : آیا mmb قابلیت این را داره که رزولوشن بالای 1024 در 768 تنظیم کنه ؟
سوال 2: سایز پروژه من 1024 در 768 یا 1360 در 768 هست حالا اگر مانیتور واید یه بنده خدایی رزولوشن بیش از 1360 داشت من با چه وسیله ای میتوانم اندازه صفحه مانیتور را مناسب پروژ» تغییر بدم ؟
امید وارم روشن شده باشه:cry:
 

MahmoodM30

مدیر <A href="http://forum.majidonline.com/forums/
ممنون ولی منظور بنده ResizeWindow (تغیر اندازه پروژه) نیست
من DisplayResolution (سایز پیکسلی نمایشگر) هست که موقع طراحی در پنجره Project Setting قابل دسترس میباشد
سوال : آیا mmb قابلیت این را داره که رزولوشن بالای 1024 در 768 تنظیم کنه ؟
سوال 2: سایز پروژه من 1024 در 768 یا 1360 در 768 هست حالا اگر مانیتور واید یه بنده خدایی رزولوشن بیش از 1360 داشت من با چه وسیله ای میتوانم اندازه صفحه مانیتور را مناسب پروژ» تغییر بدم ؟
امید وارم روشن شده باشه:cry:

اگه منظورتون اینه که رزولیشن رو با اجرای برنامه به اندازه مورد نظرتون تغییر بدید بله میتونید با پلاگین MiscY

این کار رو انجام بدید

که کدش این میشه ؟

PHP:
set$='1366|768|'
PluginSet("MiscY","set$")
PluginRun("MiscY","SetResolution")
 

hrs192

Member
استاد محمود با خودت نگی این پسره چقدر تنبله ها ...!
راه حلت خیلی مفید بود
ولی میخوام هنگام خروج از برنامه رزولشن به حالت اولش برگرده
راهه اصولیش را خودم نتونستم پیدا کنم
 

MahmoodM30

مدیر <A href="http://forum.majidonline.com/forums/
استاد محمود با خودت نگی این پسره چقدر تنبله ها ...!

نه بابا این چه حرفیه

راه حلت خیلی مفید بود
ولی میخوام هنگام خروج از برنامه رزولشن به حالت اولش برگرده
راهه اصولیش را خودم نتونستم پیدا کنم

خوب برای اینکه به حالت اولش برگردونی اول که برنامت اجرا شد رزولیشن اصلی رو توی یه متغییر میریزی

و ذخیره میکنی و بعداز اون به رزولیشنی که میخوایی تغییر میدی با اون کدی که گفتم حالا وقتی که میخوای از

برنامه خارج شی رزولیشن اصلی رو هم داری چون قبلا ذخیره کردی با استفاده از همون کد رزولیشن رو به

حالت اولیش برمیگردونی.

البته کاش اون راحلی که میگین رو اینجا میگفتین شاید برا شما راحل بهتر و راحتری باشه.

 

hrs192

Member
من از اول همین کاری که شما گفتین به نظرم رسید... قیلا اسکریپتهام تو چندتا اسکریپت مختلف بود ولی الان جمع و جورش کردم، باسه اینکه متغییرم (که حاوی رزولشن ابتدای کار هست) از دست نره
PHP:
** گفتم شايد اين داده ها بدرد بخوره
set$='X'
PluginSet("MiscY","set$")
PluginRun("MiscY","GetResolution")
PluginGet("MiscY","X$")
LoadText("X","X$")
set$='Y'
PluginSet("MiscY","set$")
PluginRun("MiscY","GetResolution")
PluginGet("MiscY","Y$")
LoadText("Y","Y$")
*****************************************
WR=ScreenWidth()
HR=ScreenHeight()
one$='WR|HR|'
*****************
size=ScreenWidth()-ScreenHeight()
If (size>256) Then
 set$='1360|768|'
 PluginSet("MiscY","set$")
 PluginRun("MiscY","SetResolution")
 SysCommand("ResizeWindow","1360,768")
 RunScript("Move Object Wide")
Else
 set$='1024|768|'
 PluginSet("MiscY","set$")
 PluginRun("MiscY","SetResolution")
 SysCommand("ResizeWindow","1024,768")
 RunScript("Move Object Height")
End
*****************************************
**براي خروج کد زير
** PluginSet("MiscY","one$") or PluginSet("MiscY","X$|Y$|")
** PluginRun("MiscY","SetResolution")
** Exit()
فقط در اون قسمت آخر چیکار کنم که موقع خروج این قسمت اسکریپت اجرا بشه؟
(راستی به نظر شما نمیشه این هارا خلاصه تر کرد)
 

MahmoodM30

مدیر <A href="http://forum.majidonline.com/forums/
این کدی که نوشتی به نطر من اشتباهه آخه اگه رزولیشن من مثلا 768*1366 باشه میاد و رزولیشن رو تغییر میده

درصورتی که نیازی نیست اینکار انجام بشه چون رزولیشن من همان 768*1366 هست

به نظر من باید از این کد استفاده کنی
PHP:
WR=ScreenWidth()
HR=ScreenHeight()

*****************
If (WR=1360 & HR=768) Then
  SysCommand("ResizeWindow","1360,768")
SysCommand("CenterWindow","")
  RunScript("Move Object Wide")
End
If (WR=1024 & HR=768) Then
  SysCommand("ResizeWindow","1024,768")
SysCommand("CenterWindow","")
  RunScript("Move Object Height")
End

دیگه نیازی نیست رزولیشنی هم تغییر داده بشه
 

hrs192

Member
خوب اگر کاربر مانیتورش های بود و اشتباها رزولوشن پایین تری از 1024*768 داشت چطور
یا اگر مانیتورش واید بود و اشتباها رزولوشن پایین تر از 1360 ویا مانیتور بزرگتر با رزولوشن بالای 1360 اون وقت سره پروژه چه بلایی میاد...؟
من خودم وقتی میرم سر سیستم اشخاص خیلی های از رزولوشن های غیر استاندارد استفاده میکنن خودشون هم نمیدونن...
باسه همین همیشه در پروژه هام رزولوشن نمایشگر طرف را به 1024 تغیر میدادم که خیلی تو مانیتور های واید ضایع نمیشد
ولی حالا خواستم این ویژگی را به کارم اضافه کنم که اندازه مناسب با مانیتور های واید هم داشته باشه.
تازه فکر کنم یه اندازه باسه مینی نمایشگر ها بزارم باسه مینی لبتاب ها و تبلت ها.. با اندازه 1024*720 که یک واید استاندارد میشه...
چون کاربرهای من از جمعیت زیادی برخوردار و همه از نوع استفاده کنندگان کم سواد هستن
 

MahmoodM30

مدیر <A href="http://forum.majidonline.com/forums/
من عجله ای نگاه کردم شاید اشتباه کردم الان هم عجله این کد رو برات مینویسم ولی به این روش عمل کن ببین درست کار میکنه

PHP:
WR=ScreenWidth()
HR=ScreenHeight()
*****************
size=ScreenWidth()-ScreenHeight()
If (size>256) Then
  set$='1360|768|'
  PluginSet("MiscY","set$")
  PluginRun("MiscY","SetResolution")
  SysCommand("ResizeWindow","1360,768")
  SysCommand("CenterWindow","")
  RunScript("Move Object Wide")
Else
  set$='1024|768|'
  PluginSet("MiscY","set$")
  PluginRun("MiscY","SetResolution")
  SysCommand("ResizeWindow","1024,768")
  SysCommand("CenterWindow","")
  RunScript("Move Object Height")
End
SaveVariable("WR","WR")
SaveVariable("HR","HR")
********Exit Code*********
LoadVariable("WR","WR")
DisplayValue("MWR","WR")
LoadVariable("HR","HR")
DisplayValue("MHR","HR")
set$=MWR$+'|'+MHR$+'|'+CHR(44)
PluginSet("MiscY","set$")
PluginRun("MiscY","SetResolution")
 

hrs192

Member
من عجله ای نگاه کردم شاید اشتباه کردم الان هم عجله این کد رو برات مینویسم ولی به این روش عمل کن ببین درست کار میکنه

PHP:
********Exit Code*********
LoadVariable("WR","WR")
DisplayValue("MWR","WR")
LoadVariable("HR","HR")
DisplayValue("MHR","HR")
set$=MWR$+'|'+MHR$+'|'+CHR(44)
PluginSet("MiscY","set$")
PluginRun("MiscY","SetResolution")

ارور میده و از برنامه میندازه بیرون
راه های مختلفی که خودم استفاده کردم همین مشکل را داشت ولی اون ها اصلا اصولی نبودن
و فکر کنم مشکل مربوط به خط
set$=MWR$+'|'+MHR$+'|'+CHR(44)
هست و باید محتوای متغیر set$ را یه چیزه خواص بزاریم... راستی CHR(44) برای چی هست؟
 

جدیدترین ارسال ها

بالا