GDI+ Tutorials: Solid Brushes |
|
Simple Colored Brushes |
Like a pen, the primary characteristic of a brush is its color. To help you create a simple brush, the System::Drawing namespace provides the static sealed Brushes class. The only feature this class provides is the ability to specify a color to use on a brush. As a static class, you never have to instantiate it. To create a simple brush whose only information is provided by its color, call the Brushes class and access a color by qualifying it with the name of the class. Each color is provided by its name as a property. Here is an example of using the class: |
System::Void Form1_Paint(System::Object^ sender, System::Windows::Forms::PaintEventArgs^ e) { array<Point> ^ pt = { Point(10, 22), Point(188, 246), Point(280, 192), Point(250, 48) }; e->Graphics->FillClosedCurve(Brushes::BlanchedAlmond, pt); e->Graphics->DrawClosedCurve(Pens::Blue, pt); } This would produce:
The simplest type of brush is referred to as solid. This type of brush is simply equipped with a color and it is used to fill a shape with it. To get a solid brush, you use the SolidBrush class defined in the System::Drawing namespace. It has only one constructor declared with the following syntax: public: SolidBrush(Color color); The color passed as argument must be a valid definition of a Color:: Here is an example: System::Void Form1_Paint(System::Object ^ sender, System::Windows::Forms::PaintEventArgs ^ e) { SolidBrush ^ brushBlue = gcnew SolidBrush(Color::Blue); e->Graphics->FillRectangle(brushBlue, 20, 20, 200, 160); } This would produce: If you plan to use different colors to fill different shapes, you don't have to create a new brush for each shape. At any time, before re-using the same brush previously defined, you can simply change its Color:: For this reason, the SolidBrush class is equipped with the Color property. Here is an example of using it: System::Void Form1_Paint(System::Object ^ sender, System::Windows::Forms::PaintEventArgs ^ e) { SolidBrush ^ colorizer = gcnew SolidBrush(Color::Lime); e->Graphics->FillRectangle(colorizer, 10, 10, 120, 120); colorizer->Color = Color::Salmon; e->Graphics->FillRectangle(colorizer, 140, 10, 120, 120); colorizer->Color = Color::Aqua; e->Graphics->FillRectangle(colorizer, 10, 140, 120, 120); colorizer->Color = Color::Navy; e->Graphics->FillRectangle(colorizer, 140, 140, 120, 120); } This would produce: Like most objects used in graphics programming, a brush consumes the computer resources. Therefore, after using it, you can free the resources it was using by calling the Dispose() method. Here is an example: System::Void Form1_Paint(System::Object ^ sender, System::Windows::Forms::PaintEventArgs ^ e) { SolidBrush ^ colorizer = gcnew SolidBrush(Color::Lime); e->Graphics->FillRectangle(colorizer, 10, 10, 120, 120); colorizer->Color = Color::Salmon; e->Graphics->FillRectangle(colorizer, 140, 10, 120, 120); colorizer->Color = Color::Aqua; e->Graphics->FillRectangle(colorizer, 10, 140, 120, 120); colorizer->Color = Color::Navy; e->Graphics->FillRectangle(colorizer, 140, 140, 120, 120); colorizer.Dispose(); } |
|
||
Home | Copyright © 2007-2013, FunctionX | |
|