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

معرفی GDI+  GDI+ نسل جدید GDI است و برای عملیات ترسیم در سیستمهای عامل ویندوز است. همانطور که از نام آن پیداست، GDI+ امکانات بیشتری از GDI را در اختیار برنامه نویس قرار می دهد. GDI+ به برنامه نویس اجازه می دهد تا برنامه های مستقل از سخت افزاری که در آن اجرا می شوند، بسازد. در ویندوزهای XP و 2003 بطور ذاتی GDI+ قرار داده شده است ولی در ویندوزهای دیگر باید آن را نصب کنید. مهمترین کارهایی که GDI+ انجام می دهد، عبارتند از:

  • گرافیکهای برداری : ترسیم و تغییر هندسی اشکال (خطوط، ترکیبات خطوط، اشکال چهار ضلعی و گرد) در فضا. این اشکال بصورت مجموعه ای از نقاط در یک صفحه و یا ابزار دیگر می باشند. برای استفاده از این امکانات در GDI+ کلاسهای متفاوتی در اختیار شما قرار داده شده است.
  • تصویر: امکانات زیادی برای کار با تصاویر و ترسیم آنها در یک ابزار و همچنین تغییر آنها در اختیار شما قرار داده شده است.
  • چاپ: برای کار با فونتها امکاناتی در اختیار شما قرار داده شده است.
  اصول GDI+  برای استفاده از GDI+ شما باید از کلاسی به نام Graphics استفاده کنید.  این کلاس برای انجام عملیات ترسیم متدهای مختلفی دارد. قبل از هر ترسیمی شما باید یک متغیر از نوع Graphics تعریف کنید. برای اینکار راههای مختلفی است که نمونه هایی از آن را در اینجا مشاهده می کنید.
  • می توانید به راحتی متغیری از نوع Graphics تعریف کنید. به مثال توجه کنید:
 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As                               System.EventArgs) Handles Button1.Click         Dim graph As System.Drawing.Graphics
End Sub
  • اگر از رویداد Paint یک پنجره استفاده می کنید، آن رویداد اشاره گری به یک شی Graphics را در اختیار شما قرار می دهد. به مثال زیر توجه کنید:
 Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint         e.Graphics . . .End Sub
  • با فراخوانی متد CreateGraphics از هر کنترل می توانید نمونه ای از شی Graphics مربوط به ان کنترل را بدست آورید. به مثال زیر توجه کنید:
 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click         Dim Graph As Graphics = Me.CreateGraphics
End Sub
 
رنگها در GDI+  رنگها یکی از اشیایی هستند که به اشیای دیگر برای تغییر نمای آنها اضافه می شوند. یک رنگ از ترکیب چهار مقدار 8 بیتی ساخته می شود. اولین مقدار، میزان آلفای رنگ است. دومین مقدار، میزان رنگ قرمز، سومین مقدار، میزان رنگ سبز، چهارمین مقدار، میزان رنگ آبی می باشد. هر کدام ار این مقادیر می توانند بین 0 تا 255 باشند. مقدار آلفا توسط سیستم عامل رزرو شده است و ترکیب مقادیر سه رنگ قرمز و سبز و آبیف رنگ مورد نظر شما را بوجود می آورد. 

برای بدست آوردن رنگهای مورد نظر در GDI+ می توانید از نام رنگها استفاده کنید. نام همه رنگهای مشهور در GDI+ شناخته شده می باشند مانند RED ، GREEN، BLUE، BLACK، WHITE، YELLOW، Fuchsia، SILVER، LIGHTBLUE، GRAY. به مثال زیر توجه کنید:

 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click         Me.BackColor = Color.DarkBlue
End Sub
 اگر رنگ مورد نظر شما جزو رنگهای از پیش تعریف شده نبود، می توانید به راحتی با تعریف یک متغیر از نوع Color و استفاده از یکی از چهار متد Overload شده FromArgb رنگ مورد نظر خود را تعریف کنید. حالت کلی متدهای FromArgb بصورت زیر است:Public Static FromArgb (argb As Integer) As ColorPublic Static FromArgb (Alpha As Integer, BaseColor As Color) As ColorPublic Static FromArgb (Red As Integer, Green As Integer, Blue As Integer) As ColorPublic Static FromArgb (Alpha As Integer, Red As Integer, Green As Integer, Blue As Integer) As Color سومین نوع این متد بیشترین استفاده را دارد و سه عدد که هرکدام بین 0 و 255 هستند را به عنوان پارامترهای متد ارسال می کنیم. به مثال زیر توجه کنید: Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click         Me.BackColor = Color.FromArgb(26, 69, 174)
End Sub
با استفاده از خواص R و G و B می توانید مقدار هر کدام از آنها را در یک رنگ بدست آورید.
قلمها در GDI+  برای ترسیم در شی Graphics نیاز به ابزارهایی داریم که ساده ترین آنها Pen می باشد.  برای استفاده از آن باید ابتدا متغیری از نوع Pen تعریف کنیم. مهمترین مشخصات یک Pen رنگ آن می باشد که باید آن را تعریف کنیم. این کار را می توانیم با استفاده از تابع سازنده کلاس Pen و در هنگام تعریف شیی از نوع Pen انجام داد. به مثال زیر توجه کنید: Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click         Dim PenRed = New Pen(Color.Blue)        Dim graph As Graphics = Me.CreateGraphics()
End Sub
 پایان قسمت اول.

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