تبیان، دستیار زندگی

آشنایی با گرافیک در سی شارپ، جلسه اول

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

آشنایی با گرافیک در سی شارپ، جلسه اول

آشنایی با گرافیک در سی شارپ، جلسه اول

 

هدف کلی: آموزش برنامه نویسی #C و آشنایی با گرافیک در سی شارپ

سرفصل های تئوری:
1- کلاس گرافیک

ما جهت برنامه نویسی گرافیک در زبان سی شارپ از کلاسی استفاده می کنیم به نام Graphics که این کلاس پایه ای برای انجام ترسیمات و امور گرافیکی است که مشخصات ناحیه گرافیکی را برای ترسیمات نگهداری نموده و متدها، خاصیت ها و ... را جهت انجام ترسیمات و فرایندهای گرافیکی در بر دارد. تمام کنترل هایی که استفاده کردیم دارای یک متد به نام Create Graphics هستند که این متد شیء از نوع Graphics را بر می گرداند مانند زیر:

آشنایی با گرافیک در سی شارپ، جلسه اول

 

this به فرم جاری اشاره می کند و ما این کد را داخل کلاس فرم نوشتیم بنابر این ناحیه گرافیکی ما فرم جاری می باشد. ما برای ترسیمات ابتدا می بایست ناحیه ای گرافیکی را مشخص نمائیم که ترسیمات باید بر روی آن انجام شود.
برای ایجاد شیء گرافیکی و مشخص کردن ناحیه گرافیکی متدهای دیگری هم وجود دارد مثل: 

آشنایی با گرافیک در سی شارپ، جلسه اول

 

این متدی جالب است که می توانید با دادن Handle یک کنترل ناحیه گرافیکی را به آن کنترل محدود نمائیم که یکی از کاربردهای جالب این متد زمانی است که ما قصد داریم تا فرم، کنترل و خارج از برنامه مان ترسیماتی انجام دهد مثل روی دستکتاپ. مثلاً کد زیر کنترل را روی فرم اصلی برنامه نگه می دارد:

آشنایی با گرافیک در سی شارپ، جلسه اول

 

متد دیگر که جهت مشخص کردن ناحیه گرافیکی یک تصویر می باشد:

آشنایی با گرافیک در سی شارپ، جلسه اول

 

این متد ناحیه ترسیم را محدود به یک تصویر می کند و ما می توانیم ترسیمات را در آن انجام دهیم و در آخر تصویر را ذخیره می نمائیم، مثلاً اگر ما بخواهیم تصویر در درون یک picturebox باز کنیم با استفاده از متد قبل به این صورت می نویسیم:

آشنایی با گرافیک در سی شارپ، جلسه اول

 

که با این کار بر روی تصویر picturebox1 یک شیء گرافیکی با نام MyGraphics ایجاد کردیم.


تمرین اول:
می خواهیم با استفاده از دوبار کلیک ماوس بر روی فرم یک مثلث رسم کنیم بنابراین ناحیه گرافیکی ما در این مسئله فرم می باشد. ایجاد شیء گرافیکی ما به صورت زیر می باشد برای این مسئله ابتدا ما در کلاس فرم خود بالای public form1 مانند زیر یک شی از کلاس گرافیک ایجاد می کنیم:

آشنایی با گرافیک در سی شارپ، جلسه اول

 

این کد را برای این اینجا می نویسیم تا بتوانیم در متد رویداد فرم (دوبار کلیک ماوس) بتوانیم با دوبار کلیک کردن مثلثی رسم کنیم حال لازم است 6 عدد متغیر از نوع int تعریف کنیم یا از 3 متغیر از نوع point که در سی شارپ تعریف شده استفاده کنیم (point یک srtuct است که دو فیلد X  و Y از نوع int در آن تعریف شده است) حال این متغیر را همانند شیء گرافیک در بالای متد public form1 تعریف کنیم:

آشنایی با گرافیک در سی شارپ، جلسه اول

 

حال برای کشیدن مثلث می خواهیم از دابل کلیک ماوس کمک بگیریم به این صورت که مختصات ماوس هنگام کلیک شدن را در متغیری ذخیره کنیم و به عنوان مختصات راس های مثلث در نظر بگیریم. برای این کار هر بار مقدار مختصات مکان کلیک را در متغیر های نوع point قرار می دهیم و در آخرین دوبار کلیک نیز مثلث را رسم کنیم بنابراین کد رخداد دابل کلیک به این صورت خواهد بود:

آشنایی با گرافیک در سی شارپ، جلسه اول

 

حال برنامه را اجرا کنید و با سه مرتبه دابل کلیک کردن در سه نقطه ی فرم مثلث هایی رسم کنید:

آشنایی با گرافیک در سی شارپ، جلسه اول

 

شما عزیزان می توانید برای انجام این پروژه به طرح درس های ذیل مراجعه فرمایید:
آشنایی با گرافیک در سی شارپ، جلسه اول
آشنایی با گرافیک در سی شارپ، جلسه دوم
آشنایی با گرافیک در سی شارپ، جلسه سوم
آشنایی با گرافیک در سی شارپ، جلسه چهارم


بخش پژوهش های دانش آموزی تبیان، تهیه: محسن نصرتی

تنظیم: نسرین صادقی