1. Графические возможности .Net Framework. Класс Graphics, методы класса. Использование методов класса Graphics для построения графических примитивов.
Класс System.Graphics инкапсулирует поверхность рисования GDI+ и не наследуется.
Основные методы:
Clear() - Очищает всю поверхность рисования и выполняет заливку поверхности указанным цветом фона.
DrawArc() - Рисует дугу, которая является частью эллипса DrawBezier() - Рисует кривую Безье, определяемую четырьмя структурами Point DrawEllipse() - Рисует эллипс DrawLine() - рисует линию
DrawPie() - Рисует сектор, который определяется эллипсом и двумя радиальными линиями DrawPolygon() - Рисует многоугольник, определяемый массивом структур Point
DrawString() - Создает указываемую текстовую строку в заданном месте с помощью определяемых объектов Brush и Font
Для Ellipse, Pie и Polygon есть методы с подписью Fill заполняющие фигуру изнутри заданным цветом (например, FillPolygon()).
Все эти методы можно применять, как для экземпляров класса Graphics, так и для элементов формы через событие Paint.
Добавление изображения синего эллипса размером 20х40 пикселей с координатами 10х10 левого верхнего угла на фигуры на элементе PictureBox:
Graphics g = PictureBoxOne.CreateGraphics();
g.FillEllipse(Brushes.Blue, 10, 10, 20, 40);
У всех компонентов формы есть стандартные обработчики событий манипуляции мышью:
MouseDown - возникает в момент нажатия кнопки мыши на компонент
MouseEnter - возникает в момент вхождения указателя мыши в видимую область компонента
MouseHover - когда указатель мыши остается неподвижным над компонентом
MouseLeave - когда объект перетаскивается за пределы компонента управления
MouseMove - возникает при наведении курсора на компонент
MouseUp - возникает в момент отпускания кнопки мыши, когда курсор находится над компонентом
Пример применения. Если необходимо в реальном времени отслеживать координаты курсора наведенного на какой либо компонент формы, то для этого компонента можно создать стандартное событие MouseMove и в его теле присваивать координаты указателя, например заранее созданному компоненту Label:
Labell.Text = Convert.ToString(e.X + ", " + e.Y); где e - экземпляр MouseEventArgs имеющийся в событие MouseMove и имеющий свойства X и Y передающие координаты мыши.
- 1. Графические возможности .Net Framework. Класс Graphics, методы класса. Использование методов класса Graphics для построения графических примитивов.
- 2. Растровые алгоритмы. Алгоритм Брезенхейма для прямой и окружности.
- 3. Построение графика функции одной переменной. Связь между «бумажными» и «экранными» координатами.
- 4. Геометрические основы компьютерной графики. Арифметизация пространства. Аффинные преобразования координат на плоскости. Матрицы элементарных аффинных преобразований.
- 5. Однородные координаты точки. Матрицы элементарных аффинных преобразований на плоскости в однородных координатах.
- 6. Графические элементы на плоскости: точки и линии. Неявные уравнения прямой и ее параметрическое описание. Связь между вектором нормали и направляющим вектором.
- 7. Графические элементы на плоскости: точки и линии. Параметрический способ описания линий. Параметрические кривые.
- 8. Построение линий, заданных конечным множеством точек. Задачи интерполяции и аппроксимации. Сплайновое приближение.
- 9. Интерполяционный полином Лагранжа, способ построения. Недостатки данного способа интерполяции.
- 10. Интерполяция кубическими сплайнами.
- 11. Аппроксимация методом наименьших квадратов.
- 12. Кривые Безье. Аппроксимация кривыми Безье.
- 13. Проективные преобразования. Виды проекций. Центральные проекции.
- 14. Графические элементы в пространстве: точки, линии, поверхности. Уравнение плоскости, проходящей через три точки. Вектор нормали к плоскости.
- 15. Модели многогранников. Каркасные и сплошные модели. Платоновы тела: тетраэдр, гексаэдр, октаэдр, икосаэдр, додекаэдр.
- 16. Квадратичные поверхности, их параметрическое описание. Алгоритм построения квадратичных поверхностей. Невырожденные поверхности эллиптического типа,