Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Создание объекта Graphics пространства имен System.Drawing для рисования





Класс Graphics является основой интерфейса GDI+ (GDI+ специальная библиотека). Этот класс непосредственно выполняет рисование прямых и кривых линий, геометрических фигур, вывод рисунков и текста.

Перед тем как рисовать линии и фигуры, отображать текст, выводить изображения и управлять ими, необходимо создать объект класса Graphics. Объект Graphics представляет поверхность рисования и является объектом, который используется для создания графических изображений.

Откройте окно конструктора Windows Forms с формой Windows. Выделите форму. В окне Свойства нажмите значок событие .

 

Выберите из списка событие Paint и дважды нажмите мышью строку списка

 

 

Visual C# вставил метод с именем Form1_Paint, который выполняется при перерисовке элемента управления – формы. Далее необходимо получить ссылку на объект Graphics из объекта PaintEventArgs в событии Paint:

1. Объявите объект Graphics.

2. Присвойте переменной ссылку на объект Graphics, передаваемый как часть PaintEventArgs. PaintEventArgs – класс, предоставляет данные для события Paint

3. Вставьте код для рисования формы или элемента управления.

Пример 8.5. Рисование линии на форму.

using System;

using System.Drawing;

using System.Windows.Forms;

namespace WindowsFormsApplication1

{

public partial class Form1: Form

{

public Form1()

{

InitializeComponent();

}

private void Form1_Paint(object sender, PaintEventArgs e)

{

Graphics g = e.Graphics;

g.DrawLine(new Pen (Color.Blue, 2.0f), 100, 100, 200, 200);

 

}

 

}

}

Замечания. 1. При создании экземпляра g класса Graphics ему передается ссылка на форму, куда нужно выводить рисунок (график). Информация о форме содержится в свойстве Graphics экземпляра e класса PaintEventArg.

2. Метод DrawLine предназначен для вывода линии, Pen – класс, предоставляющий перо для вычерчивания линии. Первый аргумент задает цвет линии, второй – ее толщину, выраженную числом типа float. Остальные параметры задают координаты начала и конца линии.

При рисовании графика необходимо иметь в виду, что координата (0, 0) формы находится в верхнем левом углу. Перенести точку (0, 0) начала координат можно используя метод TranslateTransform, указав в качестве аргументов величину сдвига вдоль осей X и Y. Ось OY направлена вниз. Поэтому необходимо отразить график относительно оси OY, поставить перед координатой y знак минус.

Пример 8.6. Построить по точкам график функции y = x2 при x = -10, -9, -8, …, 10.

using System;

using System.Drawing;

using System.Windows.Forms;

namespace WindowsFormsApplication1

{

public partial class Form1: Form

{

public Form1()

{

InitializeComponent();

}

private void Form1_Paint(object sender, PaintEventArgs e)

{

Graphics g = e.Graphics;

int xc = this.Width / 2; // this в данном случае – форма

int yc = this.Height / 2;

g.TranslateTransform(xc, yc);

g.DrawEllipse(new Pen(Color.Red, 8.0f), 0, 0, 1, 1);

int x, y;

//вычерчивание осей координат

g.DrawLine(new Pen(Color.Brown, 1.0f), -200, 0, 200, 0);

g.DrawLine(new Pen(Color.Brown, 1.0f), 0, -200, 0, 200);

//Вычерчивание осей координат

for (x = -10; x < = 10; x += 1)

{

y = x*x;

g.DrawEllipse(new Pen(Color.Blue, 2.0f), x*5, -y, 1, 1);

}

}

 

}

}

 

4.

Замечания.

1. Здесь введен масштаб по оси х, растягивающий ось в 5 раз.

2. Метод DrawEllipse рисует окружность, вписанную в квадрат со сторонами 1, 1 (последние два аргумента метода DrawEllipse, определяющие толщину точки) для каждой точки графика.

3. Точка начала координат (xc, yc) переносится в середину формы, Для этого вначале xc, yc вычисляются делением пополам ширины Width и высоты Height формы.

Вопросы для самопроверки

1. Что такое экранные формы и преимущества их использования.

2. Элементы управления TextBox, Button, RichTextBox. В каких случаях целесообразно их использование.

3. Класс Graphics. Рисование прямых линий.

4. Рисование графиков. Масштабирование при рисовании графиков.

 







Дата добавления: 2014-12-06; просмотров: 2157. Нарушение авторских прав; Мы поможем в написании вашей работы!




Шрифт зодчего Шрифт зодчего состоит из прописных (заглавных), строчных букв и цифр...


Картограммы и картодиаграммы Картограммы и картодиаграммы применяются для изображения географической характеристики изучаемых явлений...


Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...


Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Виды сухожильных швов После выделения культи сухожилия и эвакуации гематомы приступают к восстановлению целостности сухожилия...

КОНСТРУКЦИЯ КОЛЕСНОЙ ПАРЫ ВАГОНА Тип колёсной пары определяется типом оси и диаметром колес. Согласно ГОСТ 4835-2006* устанавливаются типы колесных пар для грузовых вагонов с осями РУ1Ш и РВ2Ш и колесами диаметром по кругу катания 957 мм. Номинальный диаметр колеса – 950 мм...

Философские школы эпохи эллинизма (неоплатонизм, эпикуреизм, стоицизм, скептицизм). Эпоха эллинизма со времени походов Александра Македонского, в результате которых была образована гигантская империя от Индии на востоке до Греции и Македонии на западе...

ФАКТОРЫ, ВЛИЯЮЩИЕ НА ИЗНОС ДЕТАЛЕЙ, И МЕТОДЫ СНИЖЕНИИ СКОРОСТИ ИЗНАШИВАНИЯ Кроме названных причин разрушений и износов, знание которых можно использовать в системе технического обслуживания и ремонта машин для повышения их долговечности, немаловажное значение имеют знания о причинах разрушения деталей в результате старения...

Различие эмпиризма и рационализма Родоначальником эмпиризма стал английский философ Ф. Бэкон. Основной тезис эмпиризма гласит: в разуме нет ничего такого...

Индекс гингивита (PMA) (Schour, Massler, 1948) Для оценки тяжести гингивита (а в последующем и ре­гистрации динамики процесса) используют папиллярно-маргинально-альвеолярный индекс (РМА)...

Studopedia.info - Студопедия - 2014-2026 год . (0.013 сек.) русская версия | украинская версия