У вас вопросы?
У нас ответы:) SamZan.net

Лабораторная работа ’ 7 Создание изображения с помощью компонента PintBox

Работа добавлена на сайт samzan.net:

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 29.12.2024

Лабораторная работа № 7

Создание изображения с помощью

компонента PaintBox.

Порядок работы.

Компонент  PaintBox представляет в наше расположение окно, в котором мы можем создать произвольное изображение. Программный код, создающий изображение, должен располагаться в обработчике события  OnPaint.

Нарисуем круговую диаграмму, содержащую четыре сектора красного, белого, синего и желтого цвета. Для каждого сектора выведем текст, содержащей размер сектора в процентах.

  1.  Создади новое приложение.
  2.  Поместим на Form1компонент  PaintBox  по именем PaintBox1. Установим его размеры:  Height=200;   Width=200.
  3.  В инспекторе объектов перейдем на страницу Events   и выполним двойной щелчок по правому полю в строке, содержащей имя события OnPaint. В модуле  Unit3.pas сформируем обработчик события  OnPaint.

Текст модуля Unit1.pas

unit Unit1;

interface

uses

 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

 Dialogs, ExtCtrls;

type

 TForm1 = class(TForm)

   PaintBox1: TPaintBox;

   procedure PaintBox1Paint(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.PaintBox1Paint(Sender: TObject);

procedure  sector(clr:TColor;angle1, angle2:real;msg:string);

var x1,x2,y1,y2:integer;

begin

  PaintBox1.Canvas.Brush.Color:=clr;

  x1:=trunc(cos(angle1)*PaintBox1.Width/2+PaintBox1.Width/2);

  y1:=PaintBox1.Height-trunc(sin(angle1)*PaintBox1.Height/2

       +PaintBox1.Height/2);

  x2:=trunc(cos(angle2)*PaintBox1.Width/2+PaintBox1.Width/2);

  y2:=PaintBox1.Height-trunc(sin(angle2)*PaintBox1.Height/2

       +PaintBox1.Height/2);

  PaintBox1.Canvas.Pie(0,0,PaintBox1.Width,PaintBox1.Height,x1,y1,x2,y2);

  PaintBox1.Font.Name:='arial';

  PaintBox1.Font.Size:=8;

  PaintBox1.Font.Color:=clBlack;

  PaintBox1.Font.Style:=[fsBold];

  PaintBox1.Canvas.TextOut(trunc((x1+x2)/2)-20,trunc((y1+y2)/2),msg);

end;

begin

sector(clLime,0,pi/3,'16,5%');

sector(clWhite,pi/3,5*pi/6,'25%');

sector(clSkyBlue,5*pi/6,7*pi/5,'28,4%');

sector(clYellow,7*pi/5,2*pi,'30%');

end;

end.




1. Отчет по лабораторной работе 2 ldquo;ХАРАКТЕРИСТИКИ ОБНАРУЖИТЕЛЕЙ ПАЧЕЧНОГО СИГНАЛАrdquo; Вариант 211 Жур
2. Мне никто не нужен
3. Оценка уровня механизации
4. Организация работ на фирме
5. основы менеджмента Понятие управление и менеджмент
6. ~dire que les 2 prents sont forc~ment porteurs sins
7. Мне всегда везет
8. это количество работников принятых на постоянную сезонную или временную работу сроком на один день и более
9. Воронежский государственный аграрный университет имени Императора Петра I Кафедра бухгалт
10. Предисловие Нила Барнарда доктора медицины Автор меню и рец
11. Танцевально-обрядовая культура мордовского народа
12. ЗАПИСКА до курсового проекту з дисципліни[Ландшафтна архітектура]
13. а а означаемое это то что он представляет его содержательная сторона
14. і. Завдання. Визначити кількісне співвідношення вільної зв~язаної та загальної соляної кислоти шлунково
15. КУРСОВИЙ ПРОЕКТ РОБОТА з Історії світового та вітчизняного кіно телемистецтва назва дисциплін
16. НВ Гоголь Тарас Бульба
17. а зона лечебных корпусов; б зона поликлиники и административная; в зона хозяйственного двора; г зона зе
18. Контрольная работа- Тайга
19. Психология художественного образа на примере произведений Шекспира
20. Інститут омбудсмена в Україні