Нанесение текста на поверхности формы
Программная среда Delphi. Программа, создающая графический объект. Свойства и методы Canvas формы. Свойства шрифта для текста, который будет нарисован на поверхности формы. Отображение информации о фигуре, о программе, об авторе. Быстрые клавиши и иконки.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 07.01.2015 |
Размер файла | 1,4 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Содержание
Задание
1. Исходные тексты программы
1.1 Unit Camera_unit
1.2 unit Spravka_Unit
1.3. Главная программа
2. Скриншоты программы
Заключение
Список литературы
Задание
Вариант контрольной работы выбирается по таблице в зависимости от двух последних цифр номера зачетной книжки.
Номер варианта |
Задание 1 |
Задание 2 |
|
53 |
14 |
5, 8 |
Задание 1. Нарисовать на форме предложенное изображение, используя различные стили и цвета для кисти и пера. Для рисования использовать свойства и методы Canvas формы.
Размещено на http://www.allbest.ru/
Задание 2. Добавить на форму визуальные компоненты и запрограммировать их поведение. Для опций меню обязательно установить быстрые клавиши и иконки. Примеры использования компонентов приведены в лекциях.
5. Создать главное меню следующего вида
Пункт меню |
Действие |
|
Действия/ Нарисовать |
При выборе этой опции меню на форме появляется рисунок. |
|
Действия/ Очистить |
При выборе этой опции меню нарисованный рисунок исчезает. |
|
Действия/ Выход |
Приложение завершает свою работу |
|
Информация/Показать |
При выборе этой опции заполняется таблица (компонент TStringGrid) информацией о ширине, высоте и положении формы |
|
Информация / Скрыть |
При выборе этого пункта таблица очищается. |
1. Создать контекстное меню следующего вида
Пункт меню |
Действие |
|
Выход |
Приложение завершает свою работу |
|
Надпись |
При выборе этой опции около рисунка появляется надпись. (Использовать методы Canvas) |
|
Автор |
При выборе этого пункта появляется информационное окно с информацией об авторе и приложении. |
1. Исходные тексты программы
1.1Unit Camera_unit
unit Camera_Unit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, Grids, ExtCtrls;
type
TCamera_form = class(TForm)
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
N10: TMenuItem;
Information: TStringGrid;
N11: TMenuItem;
procedure N2Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure N10Click(Sender: TObject);
procedure N11Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Camera_form: TCamera_form;
a:integer;//коэффициэт масштаба
x,x1,xc,y,y1,yc:integer;//координаты объета
r1,r2:integer;//радиусы объекта
dx:integer; //приращение
flag_figura,flag_inform,flag_help:boolean;
implementation
uses Spravka_Unit;
{$R *.dfm}
procedure Clearing; //стереть объект
begin
Camera_form.Canvas.Brush.Color:= Camera_form.Color;
Camera_form.Canvas.FillRect(rect(x-1,y-2*a-1,x+10*a,y+9*a));
end;
procedure Foto(x,y,a: integer); //рисуем методами ellipse, Poilgon, Rectangle
var
pc,bc:Tcolor;//текущие цвета карандаша и кисти
begin
//вычисляем значения координат
x1:=x+8*a;
y1:=y+5*a;
xc:=round((x1+x)/2);//координата Х центра объектива
yc:=round((y1+y)/2);//координата У центра объектива
r1:=2*a;//радиус внешнего круга
r2:=round(0.75*r1);//радиус внутреннего круга
//рисуем фотоаппарат
with Camera_form.Canvas do
begin
//сохраним текущий цвет карандаша и кисти
pc:=Pen.Color;
bc:=Brush.Color;
//установим нужный цвет карандаша и кисти
Pen.Color:= clBlack;
Brush.Color:= clGray;
//рисуем
Rectangle(x,y, x1,y1);
Ellipse((xc-r1),(yc-r1),(xc+r1),(yc+r1));
Ellipse((xc-r2),(yc-r2),(xc+r2),(yc+r2));
PolyGon([Point((xc-r1),y),Point((xc-r2),round(y-0.75*a)),
Point((xc+r2),round(y-0.75*a)),Point((xc+r1),y)]);
PolyGon([Point(round(x+0.5*a),y),Point(round(x+0.5*a),round(y-0.5*a)),
Point(round(x+1.5*a),round(y-0.5*a)),Point(round(x+1.5*a),y)]);
//восстановим нужный цвет карандаша и кисти
Pen.Color:= pc;
Brush.Color:= bc;
end;
end;
procedure TCamera_form.N2Click(Sender: TObject);
begin
Clearing;
a:=50;
x:=100;
y:=100;
Foto(x,y,a);
flag_figura:=true;
end;
procedure TCamera_form.N4Click(Sender: TObject);
begin
Close;
end;
procedure TCamera_form.N3Click(Sender: TObject);
begin
Clearing;
flag_figura:=false;
Information.Visible:=false;
end;
procedure TCamera_form.N6Click(Sender: TObject);
var
shirina,vysota,center,x0y0:string;
begin
if flag_figura then
begin
Information.Visible:=true;
Information.Cells[0,0]:='Информация';
Information.Cells[1,0]:='Пиксели';
Information.Cells[0,1]:='Ширина Фигуры';
Information.Cells[0,2]:='Высота Фигуры';
Information.Cells[0,3]:='Центр фигуры';
Information.Cells[0,4]:='Точка отсчета';
shirina:=IntToStr(8*a);
Information.Cells[1,1]:= shirina;
vysota:=IntToStr(round(5.75*a));
Information.Cells[1,2]:= vysota;
center:='X=';
center:= center+IntToStr(round(xc));
center:= center+'; Y=';
center:= center+IntToStr(round(yc));
Information.Cells[1,3]:= center;
x0y0:='x0=';
x0y0:= x0y0+IntToStr(round(x));
x0y0:= x0y0+'; y0=';
x0y0:= x0y0+IntToStr(round(y));
Information.Cells[1,4]:= x0y0;
end
else
Information.Visible:=false;
end;
procedure TCamera_form.N7Click(Sender: TObject);
begin
Information.Visible:=false;
end;
procedure TCamera_form.FormCreate(Sender: TObject);
begin
//Camera_form.Color:=ClOlive;
end;
procedure TCamera_form.N9Click(Sender: TObject);
begin
Spravka_form.Panel_autor.Visible:=false;
Spravka_form.Panel_program.Visible:=true;
Spravka_form.Show;
end;
procedure TCamera_form.N10Click(Sender: TObject);
begin
Spravka_form.Panel_autor.Visible:=true;
Spravka_form.Panel_program.Visible:=false;
Spravka_form.Show;
end;
procedure TCamera_form.N11Click(Sender: TObject);
begin
// Установить свойства шрифта для текста, который будет нарисован на
// поверхности формы.
if flag_figura then
begin
Camera_form.Canvas.Font.Name := 'Times New Roman';
Camera_form.Canvas.Font.Size := 24;
Camera_form.Canvas.Font.Style := [fsBold] + [fsItalic];
Camera_form.Canvas.Font.Color := clRed;
Camera_form.Canvas.TextOut(195,16,'Фотоаппарат');
end;
end;
end.
1.2 unit Spravka_Unit
unit Spravka_Unit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TSpravka_form = class(TForm)
Close_Button: TButton;
Panel_program: TPanel;
Label_p1: TLabel;
Label_p2: TLabel;
Label_p3: TLabel;
Label_p4: TLabel;
Label_p5: TLabel;
Panel_autor: TPanel;
Label_a1: TLabel;
Label_a2: TLabel;
Label_a3: TLabel;
procedure Close_ButtonClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Spravka_form: TSpravka_form;
implementation
{$R *.dfm}
procedure TSpravka_form.Close_ButtonClick(Sender: TObject);
begin
Close;
end;
end.
программный графический форма текст
1.3 Главная программа
program Camera_Project;
uses
Forms,
Camera_Unit in 'Camera_Unit.pas' {Camera_form},
Spravka_Unit in 'Spravka_Unit.pas' {Spravka_form};
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TCamera_form, Camera_form);
Application.CreateForm(TSpravka_form, Spravka_form);
Application.Run;
end.
2. Скриншоты программы
рис.1 Старт программы
рис.2 Прорисовка фотоаппарата
рис. 3 Отображение информации о фигуре
рис. 4 отображение информации о программе
рис. 5 отображение информации об авторе
рис. 6 отображение надписи
рис. 7 программа
Заключение
В процессе выполнения контрольной работы были освоены начальные навыки работы в программной среде Delphi и выполнена программа, создающая графический объект, имеет меню и справку.
Литература
1. Ситняковская Е.И. “ Программирование на языке высокого уровня в телекоммуникациях ”. // СибГУТИ
2. Культин Н.Б. "Основы программирования Тurbo Delphi", 2007 г.;
3. Чеснокова О.В. “Delphi 2007”, 2007;
Размещено на Allbest.ru
Подобные документы
Разработка программы, аналога Paint системы Windows, с функциями открытия изображения в графическом редакторе и его сохранения, написания текста в любом указанном мышкой месте, изменения шрифта, размера и цвета текста на языке программирования Delphi.
курсовая работа [278,5 K], добавлен 06.04.2014Область применения компьютерной графики. Работа с графикой в Delphi, обращение к свойству Canvas-компонентов. Холст для рисования Canvas - перевернутая система координат. Свойства и методы приложения. Простое приложение, иллюстрирующее работу с графикой.
курсовая работа [968,7 K], добавлен 23.03.2015Работа с текстом в программе Inkscape. Предложение с иероглифами, редактирование и применение атрибутов текста, выделение символов в строке. Редактирование текста и проверка орфографии, подбор цвета и шрифта в тексте, логотипы и их значение в программе.
отчет по практике [2,8 M], добавлен 29.05.2012Форматирование текста с помощью HTML. Задание цвета на веб-странице. Задание размера шрифта. Физическое и логическое форматирование символов. Вставка специальных символов. Удобочитаемость, содержание и форма шрифта. Подбор шрифта и верстка текста.
курсовая работа [1,3 M], добавлен 01.10.2014Отображение графики с помощью Canvas, представляющей собой область компонента, на которой можно рисовать или отображать готовые изображения. Операторы, применяемые в программе создания аналоговых часов, ее интерфейс и алгоритм решения на языке Delphi.
курсовая работа [2,3 M], добавлен 20.01.2016Изучение основных возможностей создания трехмерных объектов в программе OpenGL, методика наложения текстур. Механизм подключения библиотек. Создание поверхности ландшафта. Реализация ориентирования на поверхности. Изменение поверхности ландшафта.
курсовая работа [21,5 K], добавлен 29.11.2010Среда Borland Delphi и ее графические средства для построения фрактальных множеств. Разработка программы для построения изображения листа папоротника при помощи вероятностных распределений с использованием средств для отображения графической информации.
курсовая работа [1,3 M], добавлен 29.07.2013Методы вывода графических примитивов в программе Delphi. Основные методы, объявленные в классе TCanvas. Использование объектов Brush, Pen, Front. Примеры применения функции Round Rect. Отличия способов рисования прямоугольника Polyline и Polygon.
курсовая работа [834,1 K], добавлен 17.09.2014Работа с фигурным текстом. Форматирование и редактирование текста. Редактирование узлов фигурного текста. Привязка текста к фигурам. Выравнивание текста на фигуре. Перспектива, оболочки и выдавливание. Работа с простым текстом.
реферат [12,7 K], добавлен 21.12.2003Описания объектов, свойств, методов, формы и основных модулей текста программы в среде Delphi. Создание Windows-приложения на алгоритмическом языке Object Pascal в среде визуального программирования. Анализ результатов тестирования программного продукта.
курсовая работа [2,4 M], добавлен 27.08.2012