Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

pragma once Hard / Занятие 11

.doc
Скачиваний:
14
Добавлен:
13.03.2015
Размер:
51.71 Кб
Скачать

Работа с графикой

Создайте следующую форму:

private: System::Void линияToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) {

//создаем объект класса Graphics

Graphics^ Gr =this->CreateGraphics();

//очистка области рисования путем ее окрашивания в цвет формы

Gr->Clear(SystemColors::Control);

int h=menuStrip1->Height;//высота меню

//рисуем черную линию толщиной 1 из точки(10,h+10) до (70,h+10)

Gr->DrawLine(System::Drawing::Pens::Black, 10,h+10,70,h+10);

//создаем перо красного цвета

Pen^ P=gcnew Pen(Color::Red);

//задаем стиль пунктирных линий

P->DashStyle = System::Drawing::Drawing2D::DashStyle::DashDotDot;

P->Width=3; //ширина пера (по умолчанию в точках)

//рисуем линию с помощью пера

Gr->DrawLine(P,10, h+40, 70, h+40);

}

private: System::Void прямоугольникToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) {

//создаем объект класса Graphics

Graphics^ Gr =this->CreateGraphics();

//очистка области рисования путем ее окрашивания в цвет формы

Gr->Clear(SystemColors::Control);

int h=menuStrip1->Height;//высота меню

int h1=this->ClientSize.Height; //высота внутренней области формы

int w=this->ClientSize.Width; //ширина внутренней области формы

//создаем перо черного цвета

Pen^ P=gcnew Pen(Color::Black);

//создаем кисть для "закрашивания" фигур

Brush^ B=gcnew SolidBrush(Color::Yellow); //сплошная

//рисуем закрашенный прямоугольник( , x, y, width, height )

Gr->FillRectangle(B,10,10+h,w-20,h1-20-h);

//рисуем контур

Gr->DrawRectangle(P,10,10+h,w-20,h1-20-h);

}

private: System::Void эллипсToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) {

//создаем объект класса Graphics

Graphics^ Gr =this->CreateGraphics();

//очистка области рисования путем ее окрашивания в цвет формы

Gr->Clear(SystemColors::Control);

int h=menuStrip1->Height;//высота меню

int h1=this->ClientSize.Height; //высота внутренней области формы

int w=this->ClientSize.Width; //ширина внутренней области формы

//создаем перо черного цвета

Pen^ P=gcnew Pen(Color::Black);

//создаем кисть для "закрашивания" фигур

Brush^ B=gcnew SolidBrush(Color::Yellow); //сплошная

//рисуем эллипс, определенный ограничивающим прямоугольником

Gr->FillEllipse(B,10,10+h,w-20,h1-20-h); //закрашенный

Gr->DrawEllipse(P,10,10+h,w-20,h1-20-h); //контур

}

private: System::Void секторToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) {

//создаем объект класса Graphics

Graphics^ Gr =this->CreateGraphics();

//очистка области рисования путем ее окрашивания в цвет формы

Gr->Clear(SystemColors::Control);

int h=menuStrip1->Height;//высота меню

int h1=this->ClientSize.Height; //высота внутренней области формы

int w=this->ClientSize.Width; //ширина внутренней области формы

//создаем перо черного цвета

Pen^ P=gcnew Pen(Color::Black);

//создаем кисть для "закрашивания" фигур

Brush^ B=gcnew SolidBrush(Color::Yellow); //сплошная

//рисуем сектор

//10,10+h - левый верхний угол прямоуольника

//w-20 - ширина прямоугольника

//h1-20-h - высота пямоугольника

//90 - угол (в градусах), который измеряется по часовой стрелке,

// начиная от оси X и заканчивая первой стороной сектора

//150 - угол (в градусах), который измеряется по часовой стрелке,

// начиная от первой стороны сектора и заканчивая второй стороной

Gr->FillPie(B,10,10+h,w-20,h1-20-h,90,150); //закрашенный

Gr->DrawPie(P,10,10+h,w-20,h1-20-h,90,150); //контур

}

private: System::Void текстToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) {

//создаем объект класса Graphics

Graphics^ Gr =this->CreateGraphics();

//очистка области рисования путем ее окрашивания в цвет формы

Gr->Clear(SystemColors::Control);

int h=menuStrip1->Height;//высота меню

int h1=this->ClientSize.Height; //высота внутренней области формы

int w=this->ClientSize.Width; //ширина внутренней области формы

String^ st="Мой текст";

//выводим текст шрифтом, заданным значением свойства Font формы

Gr->DrawString(st,this->Font,Brushes::Blue, 10, 10+h);

//создаем кисть

Brush^ B=gcnew SolidBrush(Color::Green); //сплошная

//определяем свой шрифт

System::Drawing::Font^ F=gcnew System::Drawing::Font("Times New Roman",12,FontStyle::Italic);

//определяем размер области отображения текста своим шрифтом

int tw = (int) Gr->MeasureString(st,F).Width;

int th = (int) Gr->MeasureString(st,F).Height;

//вычисляем координаты левого верхнего угла текста, расположенного в центре формы

int x=(w-tw)/2;

int y=(h1-h-th)/2;

//выводим текст в центре формы

Gr->DrawString(st,F,B,x,y);

}

private: System::Void рисунокToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) {

//создаем объект класса Graphics

Graphics^ Gr =this->CreateGraphics();

//очистка области рисования путем ее окрашивания в первоначальный цвет формы

Gr->Clear(SystemColors::Control);

//создаем объект для работы с изображением

Image^ I=Image::FromFile("D:\\Зима.jpg");

//выводим рисунок

Gr->DrawImage(I,10,10);

}

Соседние файлы в папке pragma once Hard