گرافیک در .NET - قسمت دوم

اونایی که تازه با GDI+ آشنا شدن بهتره قبل از این مقاله یه مروری روی مقاله قبلی داشته باشن. توجه داشته باشید که در این مقاله تصاویر به دلیل مشکلاتی که در نشون دادنشون در وبلاگ وجود داره حذف شدن ولی در مقاله اصلی که بصورت PDF ارائه میشه هم تصاویر هستن و هم مثالها به دو زبون C# و VB.NET ارائه میشن. یادتون باشه حتما Namespace های لازم را در ابتدای برنامتون Import کنید. شروع قسمت دوم مقاله گرافیک در .NET  مختصات: در GDI+ مبدا مختصات (نقطه (0و0)) گوشه بالا چپ می باشد. به شکل زیر توجه کنید: ترسیم اشکال مستطیل و مربعمستطیل یک شکل هندسی است که از چهار ضلع ساخته شده است که این اضلاع تشکیل چهار زاویه را می دهند. برای رسم مستطیل از متد DrawRectangles() شی Graphics استفاده می کنیم. حالت کلی آن به این شکل است: 

Public Sub DrawRectangle(ByVal pen As Pen, ByVal rect As Rectangle )
 پس از ساختن یک متغیر از نوع Rectangle آن را به عنوان پارامتر به متد DrawRectangle() می فرستیم. به مثال زیر توجه کنید: Private Sub Form1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Click        Dim graph As Graphics = Me.CreateGraphics()         Dim CurPen As Pen = New Pen(Color.Blue)        Dim MyRect As Rectangle = New Rectangle(20, 20, 200, 150)         graph.DrawRectangle(CurPen, MyRect)
End Sub
 شما می توانید شی Rectangle را در داخل پرانتزهای متد DrawRectangle() بسازید. به مثال زیر توجه کنید: Private Sub Form1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Click        Dim graph As Graphics = Me.CreateGraphics()        Dim CurPen As Pen = New Pen(Color.Blue)         graph.DrawRectangle(CurPen, New Rectangle(20, 20, 200, 150))End Sub توجه داشته باشید که سومین پارامتر متد سازنده Rectangle مقدار Width است و چهارمین پارامتر آن، مقدار Height. این موضوع را می توانید در شکل زیر ببینید: به مثال زیر توجه کنید: Private Sub Form1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Click        Dim graph As Graphics = Me.CreateGraphics()        Dim CurPen As Pen = New Pen(Color.Blue)         graph.DrawRectangle(CurPen, New Rectangle(20, 20, 200, 200))End Sub یک مربع  در حقیقت یک مستطیل است که همه اضلاع آن باهم برابرند. مجموعه ای از مستطیلها متد DrawRectangle برای رسم یک مستطیل بکار می رود. اگر بخواهید که در یک مرحله تعداد زیادی مستطیل رسم کنید باید از متد DrawRectangles شی Graphics استفاده کنید. این متد دو نسخه دارد که حالات کلی آنها بدین شکل می باشند:
Public Sub DrawRectangles(ByVal pen As Pen, ByVal rects() As RectangleF)
Public Sub DrawRectangles(ByVal pen As Pen, ByVal rects() As Rectangle)
 
این متد آرایه ای از شی Rectangle (یا Rectangles) می گیرد سپس به ازای هر عنصر آرایه، یک مستطیل رسم می کند. به مثال زیر و نتیجه آن توجه کنید: Private Sub Form1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Click         Dim graph As Graphics = Me.CreateGraphics()        Dim CurPen As Pen = New Pen(Color.Blue)        Dim MyRects As Rectangle() = {  New Rectangle(20, 20, 100, 60), _                                        New Rectangle(30, 50, 100, 110), _                                        New Rectangle(40, 80, 100, 140), _                                        New Rectangle(50, 120, 100, 170) _                                     }         graph.DrawRectangles(CurPen, MyRects)End Sub پایان قسمت دوم مقاله اول یه لینک باحال بهتون بدم که حال کنید. این وبلاگ در مورد هوش مصنوعیه و متعلق به آقای مسعود اسد پور. ایشون مطالب جالبی در این زمینه تو این وبلاگ می نویسه و علاوه بر اون در مورد پروژه خودش هم توضیحاتی داده که فوق العاده جالبه. حتما بخونید.http://robotics.persianblog.ir/

  
نویسنده : ali gooliof ; ساعت ۱:٢٤ ‎ب.ظ روز ۱۳۸٧/٢/٢
تگ ها :