Нанесение текста на поверхности формы

Программная среда 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

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.