русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2015-01-08; просмотров: 1542; Нарушение авторских прав


Класс Graphics является основой интерфейса 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. Ось Y направлена вниз. Поэтому необходимо отразить график относительно оси Y, поставить перед координатой 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;

// this в данном случае – форма

int xc = this.Width / 2;

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);

}

}

}

}

Замечания

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

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

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

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

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

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

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

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

Задания для самостоятельного выполнения

Составить программы для решения указанных задач. В задачах 1–8 использовать элемент управления «Кнопка» (Button). В задачах 1, 2 использовать элемент управления TextBox.

1. Вычислить c = a + b, вводя исходные данные в два текстовых поля (TextBox), в третье – вывести результат.

2. Вычислить сумму первых n натуральных чисел, вводя значение n в одно текстовое поле, результат вывести во второе текстовое поле.

В задачах 3 – 8 использовать элемент управления RichTextBox.

3. Решить задачу 1, вводя исходные данные в элемент управления RichTextBox, результат вывести в текстовое поле TextBox.

4. Ввести пять различных чисел в RichTextBox1, разделяя их пробелами. Умножить каждое из этих чисел на 2 и вывести в RichTextBox2, каждое в новую строку, снабдив результат заголовком.

5. Элементы массива размера 6 поместить в RichTextBox1. Найти максимальный элемент массива и вывести его в TextBox.

6. Решить задачу 5, помещая результат с заголовком в RichTextBox.

7. Два массива размера 6 поместить в RichTextBox1 и RichTextBox2. Найти сумму этих массивов, суммируя каждую пару элементов. Результат с заголовком поместить в RichTextBox3.

8. Матрицу размера 4 × 4 разместить в RichTextBox1. Сформировать массив из сумм элементов строк и поместить его в RichTextBox2.

В задачах 9–15 построить график функции при , разбивая отрезок на n частей. График начертить точками или отрезками прямых линий по указанию преподавателя, выполнив предварительно масштабирование. При вычерчивании графика функции предусмотреть вывод координатных осей.

9.

10.

11.

12.

13. z = x2 – 18x + 72; a = 5, b = 20, n = 40.

14. z = x3 + 5x2 + 14x – 56; a = 1, b = 10, n = 40.

15.



<== предыдущая лекция | следующая лекция ==>
Работа с элементом управления RichTextBox | Создание нового проекта


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.331 сек.