Пример программы графики в DELPHI
ЛАБОРАТОРНАЯ РАБОТА № 11
Графика в DELPHI
Данная лабораторная работа предназначена для знакомства с основами создания графических изображений. На примере программы построения графика функции, заданной таблично, необходимо изучить такие графические элементы, как перо, кисть, шрифт, линии, прямоугольники и т.д.; познакомиться с компонентом TPaintBox для изображения произвольной графики и классом TCanvas, объединяющим все основные примитивы для рисования графики в Delphi.
Цель работы
Изучение средств Delphi для рисования произвольных изображений на экране.
Задачи работы
Ознакомление с объектами для создания произвольных графических изображений.
Задание 1.
Научиться использовать компоненты для графического представления числовых данных.
1. Создайте в новом проекте форму «График функции Sin(x)»
Для графического представления числовых данных служит компонент Chart в группе компонентов Additional.
Компонент содержит большое число специфических свойств, событий и методов.
Мы рассмотрим самый простой метод – построение графика функции Sin(x).
Вначале компонент помещается на форму. После щелчка по нему правой кнопкой мыши вызывается его вспомогательное меню, которое содержит опцию Edit Chart – с помощью этой опции вызывается многолистное окно редактора компонента. Закладка Series этого окна открывает доступ к сериям – объектам класса TCharSeries, которые и будут отображать наборы чисел в графическом виде.
Чтобы отобразить данные, нужно создать как минимум одну серию – для этого следует в окне редактора нажать кнопку Add, и выбрать подходящий тип графика (см. рисунки).
После закрытия редактора компонент будет содержать примерный вид графика.
Однако его реальный вид зависит от фактических данных, которые создаются в работающей программе и добавляются к серии с помощью методов AddX, AddY, или AddXY объекта TCharSeries (получить доступ к серии можно с помощью индексированного свойства Series[n] – первая созданная серия имеет индекс 0, вторая 1, третья – 2 и т.д.
Ниже приведен пример обработчика события OnActivate формы для создания графика функции Sin(x).
procedure TForm1.FormActivate(Sender: TObject);
var
k: integer;
begin
For k:=0 to 20 do
Chart1.Series[0].AddXY(k,sin(k*pi/10),'',clRed);
end;
2.Сохранитепроект в папкеЛабораторная работа 11/Задание 1.
Самостоятельное задание: Построить гистограмму расхода электроэнергии по кварталам согласно таблице
1 квартал | 2 квартал | 3 квартал | 4 квартал | |
Расход эл. эн. в кВт. час. |
Сохранитепроект в папкеЛабораторная работа 11/Самостоятельная.
Задание 2
Пример программы графики в DELPHI
1.Конструирование формы:
Создайте в новом проекте форму «Дорожный знак»
На форме расположены 2 кнопки «Нарисовать» и «Выход»
Для прорисовки произвольных изображения используется класс TCanvas(холст), а также методы, позволяющие рисовать графические примитивы.
В табл. приведено краткое описание свойств и методов объектов для рисования графики.
Основные свойства объектов типа TCanvas | |||||||||
Свойство | Тип | Комментарий | |||||||
Brush | TBrush | Параметры заливки сплошных областей | |||||||
Pen | TPen | Параметры отображения линий | |||||||
Font | TFont | Параметры отображения текстовых надписей | |||||||
Pixels[X,Y] | TColor | Цвет точки с координатами (X,Y) | |||||||
Основные методы объектов типа TCanvas | |||||||||
Метод | Комментарий | ||||||||
Ellipse(Xl,Yl,X2,Y2) | Изображает эллипс, вписанный в прямоугольник с заданными координатами | ||||||||
LineTo(X,Y) | Рисует линию из текущей позиции в новую точку. Строит линию от текущей точки, в которую перешли с помощью функции MoveTo(X,Y), до точки с заданными координатами | ||||||||
MoveTo(X,Y) | Перемещение в точку с заданными координатами. Устанавливает текущую позицию | ||||||||
Polyline:(array of :TPoint) | Рисует полилинию по набору точек | ||||||||
Polygon (array of ТPoint) | Рисует полигон по набору точек | ||||||||
Rectangle(X1,Y1,X2,Y2} | Рисует прямоугольник по координатам двух противоположных углов | ||||||||
TextOut{X,Y,Text) | Выводит текст в заданной позиции | ||||||||
RoundRect(X1,Y1, X2,Y2, X3,Y3) | Строит прямоугольник с закругленными углами, где X1,Y1 – координаты верхнего левого угла прямоугольника, X2,Y2 – координаты нижнего правого угла прямоугольника, X3,Y3 – радиусы закругления углов. | ||||||||
Arc(X1,Y1, X2,Y2, X3,Y3,X4,Y4) | Построение дуги, где X1,Y1 – координаты верхнего левого угла прямоугольника, X2,Y2 – координаты нижнего правого угла прямоугольника, X3,Y3 – точка начала дуги, X4,Y4 – точка конца дуги. Прорисовка дуги происходит против часовой стрелки. | ||||||||
Основные свойства объектов типа TBrush. | |||||||||
Свойство | Тип | Комментарий | |||||||
Color | TColor | Цвет заливки | |||||||
Style | TBrushStyle | Стиль заливки (bsSolid - сплошная, bsCiear -нет, bsHorizontal — горизонтальные линии, bsVertical - вертикальные) | |||||||
Основные свойства объектов типа ТРеn. | |||||||||
Свойство | Тип | Комментарий | |||||||
Color | TColor | Цвет линий | |||||||
Style | TPenStyle | Стиль линий (psSolid - сплошная, psDash - штрих, psDot - точки, psDashDot - штрих-пунктир, psDashDotDot - штрих-штрих-пунктир, psClear - нет линии) | |||||||
Width | Integer | Ширина сплошной линии | |||||||
Основные свойства объектов типа TFont. | |||||||||
Свойство | Тип | Комментарий | |||||||
Color | TColor | Цвет шрифта | |||||||
Name | String | Имя шрифта | |||||||
Size | Integer | Размер шрифта | |||||||
Style | TFontStyles | Стили шрифта: жирность, наклон, подчеркивание, зачеркивание | |||||||
2.Условие:
Составить программу вывода на экран рисунка, используя графические возможности языка программирования.
3.Программа:
4.Результат:
Сохранитепроект в папкеЛабораторная работа 11/Задание 2.
Задание 3