Студопедия — Создание объекта Graphics пространства имен System.Drawing для рисования
Студопедия Главная Случайная страница Обратная связь

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

Создание объекта 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; просмотров: 2113. Нарушение авторских прав; Мы поможем в написании вашей работы!



Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

Трамадол (Маброн, Плазадол, Трамал, Трамалин) Групповая принадлежность · Наркотический анальгетик со смешанным механизмом действия, агонист опиоидных рецепторов...

Мелоксикам (Мовалис) Групповая принадлежность · Нестероидное противовоспалительное средство, преимущественно селективный обратимый ингибитор циклооксигеназы (ЦОГ-2)...

Менадиона натрия бисульфит (Викасол) Групповая принадлежность •Синтетический аналог витамина K, жирорастворимый, коагулянт...

Тема: Кинематика поступательного и вращательного движения. 1. Твердое тело начинает вращаться вокруг оси Z с угловой скоростью, проекция которой изменяется со временем 1. Твердое тело начинает вращаться вокруг оси Z с угловой скоростью...

Условия приобретения статуса индивидуального предпринимателя. В соответствии с п. 1 ст. 23 ГК РФ гражданин вправе заниматься предпринимательской деятельностью без образования юридического лица с момента государственной регистрации в качестве индивидуального предпринимателя. Каковы же условия такой регистрации и...

Седалищно-прямокишечная ямка Седалищно-прямокишечная (анальная) ямка, fossa ischiorectalis (ischioanalis) – это парное углубление в области промежности, находящееся по бокам от конечного отдела прямой кишки и седалищных бугров, заполненное жировой клетчаткой, сосудами, нервами и...

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