Нанесение текста на поверхности формы - Контрольная работа

бесплатно 0
4.5 70
Программная среда Delphi. Программа, создающая графический объект. Свойства и методы Canvas формы. Свойства шрифта для текста, который будет нарисован на поверхности формы. Отображение информации о фигуре, о программе, об авторе. Быстрые клавиши и иконки.

Скачать работу Скачать уникальную работу

Чтобы скачать работу, Вы должны пройти проверку:


Аннотация к работе
Содержание Задание 1. Исходные тексты программы 1.1 Unit Camera_unit 1.2 unit Spravka_Unit 1.3. Скриншоты программы Заключение Список литературы Задание Вариант контрольной работы выбирается по таблице в зависимости от двух последних цифр номера зачетной книжки. Нарисовать на форме предложенное изображение, используя различные стили и цвета для кисти и пера. Исходные тексты программы 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: TLab

Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность
своей работы


Новые загруженные работы

Дисциплины научных работ





Хотите, перезвоним вам?