Графические примитивы. Прямоугольник

   
На этом шаге мы рассмотрим различные способы построения прямоугольника.

   
Метод DrawRectangle чертит прямоугольник (рисунок 1).


Рис.1. Рисование прямоугольника

   
В качестве параметров метода надо указать карандаш, координаты левого верхнего угла и размер прямоугольника:

  DrawRectangle(aPen, x, y, w, h);

   
Вместо четырех параметров, определяющих прямоугольник, можно указать структуру типа Rectangle:

  DrawRectangle(aPen, aRect);

   
Поля X и Y структуры aRect задают координаты левого верхнего угла прямоугольника, а Width и Height - размер (ширину и высоту).

   
Вид линии границы прямоугольника (цвет, стиль и ширину) определяет параметр aPen, в качестве которого можно использовать один из стандартных карандашей или карандаш, созданный программистом.

   
Метод FillRectangle рисует закрашенный прямоугольник. В качестве параметров методу надо передать кисть, координаты левого верхнего угла и размер прямоугольника:

  FillRectangle(aBrush, x, y, w, h);

Вместо x, y, w и h можно указать структуру типа Rectangle:

  FillRectangle(aBrush, aRect);

   
Параметр aBrush, в качестве которого можно использовать стандартную или созданную программистом штриховую (HatchBrush), градиентную (LineadGradientBrush) или текстурную
(TextureBrush) кисть, определяет цвет и стиль закраски области.

   
Далее приведен фрагмент кода (процедуры обработки события Paint), который демонстрирует использование методов DrawRectangle и FillRectangle.

Rectangle aRect; // положение и размер прямоугольника
// Зеленый прямоугольник размером 60х30,
// левый верхний угол которого в точке (10, 10)
aRect = Rectangle(10,10,60,30); // положение и размер
e->Graphics->FillRectangle(Brushes::ForestGreen, aRect);
// Желтый прямоугольник с черной границей размером 60х30,
// левый верхний угол которого в точке (100, 10)
aRect.X = 100;
e->Graphics->FillRectangle(Brushes::Gold, aRect); // прямоугольник
e->Graphics->DrawRectangle(Pens::Black, aRect); // граница

   
Результат выполнения этого фрагмента приведен на рисунке 2:


Рис.2. Результат работы приложения

   
Полный текст приложения:

// конструктор
Form1(void)
{
	InitializeComponent();
	//
	//TODO: добавьте код конструктора
	//
	// Задаем функцию обработки события Paint
	this->Paint += gcnew System::Windows::Forms::PaintEventHandler(this,
            &Form1::drawRectangle);
}
.   .   .   .   .
void drawRectangle(System::Object^ sender, System::Windows::Forms::PaintEventArgs^ e){
	Rectangle aRect; // положение и размер прямоугольника
	// Зеленый прямоугольник размером 60х30,
	// левый верхний угол которого в точке (10, 10)
	aRect = Rectangle(10,10,60,30); // положение и размер
	e->Graphics->FillRectangle(Brushes::ForestGreen, aRect);

	// Желтый прямоугольник с черной границей размером 60х30,
	// левый верхний угол которого в точке (100, 10)
	aRect.X = 100;
	e->Graphics->FillRectangle(Brushes::Gold, aRect); // прямоугольник
	e->Graphics->DrawRectangle(Pens::Black, aRect); // граница
}

Архив проекта можно взять здесь.

   
На следующем шаге мы рассмотрим особенности отображения точки.



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий