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

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

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

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

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

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

от 25%

Подписываем

договор

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

Скидка 25% при заказе до 18.5.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. ТЕМА БЕЗНАЛИЧНЫХ РАСЧЕТОВ [3
2. ЛАБОРАТОРНАЯ РАБОТА Ретушь изображения Ретушью называется изменение коррекция фотоизображений с
3. тема гражданского права как правовой отрасли
4. Планирование прибыли и рентабельности производства
5. курс Ведение- Автолитография от греч.html
6. а определить в каком из мешков монеты фальшивые Люди приезжавшие в одну деревушку часто удивлялись местн
7. Женские образы (по пьесам «Свои, люди сочтемся!», «Гроза», «Бесприданница»)
8. Контрольная работа АСУ ТП 5ти клетевого стана 630 холодной прокатки
9. 80 И90 ТЕСТ СХЕМА ЗАДАЧА
10.  Согласно патриархальной теории происхождения государства оно возникло в результате - Божественной воли