گرافیک در #C
گرافیک در #C قسمت 2
- رسم اشکال مختلف
برای رسم اشکال مختلف بهتر است با نوع داده Rectangle آشنا بشید. مثال:
1 | Rectangle rect; |
این نوع داده 4 ورودی میپذیرد. دو ورودی اول مربوط به موقعیت x و y و دو ورودی دوم مربوط به عرض و طول است.
1 | rect = new Rectangle(X,Y,Width,Height); |
برای رسم یک چهار ضلعی میتوان از DrawRectangle استفاده کرد و به صورت زیر عمل میکنیم.
مثال:
1 2 3 4 5 | Graphics g; g = this.CreateGraphics(); Rectangle rect = new Rectangle(10,10,50,50); g.DrawRectangle(new Pen(Color.Red),rect); g.DrawRectangle(new Pen(Color.Red),new Rectangle(10,10,50,50)); g.DrawRectangle(new Pen(Color.Red),10,10,50,50); |
پس میشود بدون تعریف متغیری از نوع Rectangle هم کار کرد.چون عرض و طول را برابر گذاشتیم مسلما یک مربع ساخته میشود. برای پر کردن داخل این مربع کافیست به جای DrawRectangle از FillRectangle استفاده کرد و به جای Pen از SolidBrush استفاده کنید و اگر میخواهید مانند Pens.Red که در قسمت قبل توضیح دادیم استفاده کنید باید از Brushes استفاده کنید. g.FillRectangle(new SolidBrush(Color.Blue), rect); این کد یک 4 ضلعی که داخلش از یک رنگ پر شده است میسازد.
DrawRectangle ,FillRectangle
برای رسم دایره یا بیضی از DrawEllipse استفاده میکنیم و به صورت زیر عمل میکنیم.
مثال:
1 2 | Graphics g; g = this.CreateGraphics(); Rectangle rect = new Rectangle(10,10,50,50); g.DrawEllipse(new Pen(Color.Red), rect) |
;
میتوان با گرافیک یک متن را هم نوشت. ورودی هایی که میگیرد به ترتیب یک رشته،یک فونت که باید نام فونت و اندازه آن را مشخص کنیم،یک رنگ به وسیله SoldiBrush و یک نقطه که بداند میخواهید در کدام نقطه نوشته شما اعمال شود.
مثال:
1 | g.DrawString("Programchi.ir",new Font("Arial",2),new SolidBrush(Color.Red),new Point(50,50)); |
میتوان با استفاده از آرایه ای از Point ها مجموعه ای از خط ها رسم کرد. مثال
1 2 3 4 | Graphics g; g = this.CreateGraphics(); Point[] p = new Point[] { new Point(10,10),//نقطه اول a new Point(50,30),//نقطه دوم b new Point(100,90)// نقطه سوم c }; g.DrawLines(Pens.Black,p); |
یک خط از نقطه a تا نقطه b میکشد. ویک خط از نقطه b تا نقطه c. یک متد دیگری شبیه به DrawLines وجود دارد ولی با کمی تفاوت به نام Polygon.
- polygon به طور اتوماتیک یه خط هم از اولین نقطه به آخرین نقطه میکشد.
- پس وقتی اینکار را میکند عملا یک شکل به وجود می آید یعنی میتوان آن را یکی از اشکال موجود در نظر گرفت که خودتان میسازید برخلاف Lines که اگر بتوانید یک مربع هم رسم کنید آن یک شکل در نظر گرفته نمیشود. * از این نظر که درون polygon را میشود با یک رنگ پر کرد* پس یک Shape است.
پس وقتی دو نقطه در نظر میگیریم، Polygon سه خط میسازد.
معمولا خط های مورب مانند تصویر بالا پیکسل پیکسل می افتند. ما میتوانیم با استفاده از کد زیر کیفیت آن را بیشتر کنیم تا بهتر نمایش داده شوند.
1 | g.SmoothingMode = SmoothingMode.HighQuality; |
و این کد را باید زیر
1 | g = this.CreateGraphics() |
بنویسید.
برای استفاده از SmoothingMode کلاس using System.Drawing.Drawing2D را فراخوانی کنید.
پایان این قسمت, امیدوارم این آموزش مفید بوده باشه.