www.doronamir.com

E-mail: doron@doronamir.com

 

 

 

 GDI+: PathGradientBrush

ביישום זה נבצע צביעה בטיפוס מסוג PathGradientBrush המאפשר לבצע צביעה בשיפוע

תחילה יש להגדיר אובייקט מטיפוס GraphicsPath המאפשר לבנות את נתיב המילוי כלומר מעגל , ריבוע וכו'

ובשלב הבא יש לבנות מברשת משופעת (ה- Constructor מקבל את  אובייקט הנתיב) , למברשת מסוג זה קיים מאפיין

עבור צבע השיפוע עצמו CenterColor (בדוגמה הנ"ל הוא בצבע לבן) , קיים מאפיין נוסף עבור צבע מעטפת השיפוע SurroundColors

מאפיין זה מקבל אליו מערך צבעים מסוג Color במקרה זה המערך מכיל צבע אחד – כחול .

 

 

  

 

 

using System;

using System.Drawing;

using System.Drawing.Drawing2D;

using System.Collections;

using System.ComponentModel;

using System.Windows.Forms;

using System.Data;

 

namespace DoronAmirGDI_101

{

 

private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)

                        {

                                    //הכנת מצביע מסוג משטח ציור והצבעה אליו

                                    Graphics DrawArea = e.Graphics;

                                    // הגדרת מברשת משופעת

                                    PathGradientBrush MyBrush;

                                    //אובייקט המייצג את נתיב המילוי

                                    GraphicsPath graphPath = new GraphicsPath();

                                    graphPath.AddEllipse(0,0,ClientSize.Width,ClientSize.Height);

                                    //יצירת מברשת משופעת הכוללת את נתיב המילוי

                                    MyBrush = new PathGradientBrush(graphPath);

                                    //בחירת צבע השיפוע - לב השיפוע

                                    MyBrush.CenterColor = Color.White;

                                    // אתחול מערך הצבעים שמיועד לעטיפת השיפוע

                                    Color[] surroundColor = new Color[]{Color.Blue};

                                    //טעינת מערך הצבעים עבור עטיפת השיפוע

                                    MyBrush.SurroundColors = surroundColor;

                                    //ציור על המשטח של התבנית

                                    //צבע המילוי של המשטח מתבצע ע"י המברשת המשופעת

                                    DrawArea.FillPath(MyBrush, graphPath);

                        }

 

                        private void Form1_Resize(object sender, System.EventArgs e)

                        {

           

                                    Invalidate(); //רענון הטופס בעת שינוי גודל הטופס

                        }

            }

}