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

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

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

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

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

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

от 25%

Подписываем

договор

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

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

Лабораторная работа № 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. зробити тобто виконати певні дії або утриматися від здійснення певних дій; prestre надати річ у тимчасове
3. Тема 1- ДЖЕРЕЛА МОРСЬКОГО ПРАВА УКРАЇНИ Мета заняття- Визначити та засвоїти такі поняття як норми між
4. Способ и устройство обнаружения аномалий в сетях
5. Статья 1 Предмет регулирования и цели настоящего Закона 1
6. Регион Балтийского моря- политика культура общество 30 декабря 2013 г
7. Волгоградский государственный технический университет Факультет экономики и управления Кафедр
8. Язык Pskl Основные элементы языка Структура программы
9. I Приятного чтения Трумен Капоте Завтрак у Тиффани Меня всегда тянет к тем мес
10. Образовательный центр Программа творческого объединенияЮный журналист 410 классы