Будь умным!


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

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

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

Бесплатно
Узнать стоимость работы
Рассчитаем за 1 минуту, онлайн

Лабораторная работа № 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. транспортных происшествий далее ~ ДТП и все чаще уголовно наказуемых
3. 23 июня с 1941 был призван на войну по мобилицизации в Советскую Армию
4. РЕФЕРАТ дисертації на здобуття наукового ступеня кандидата філологічних наук Дн
5. вінчестерами є основним засобом довгострокового збереження інформації тому базові принципи роботи дисков
6. функционального анализа разделения труда а также исследование самоубийств все это различные способы реше
7. Куда смотрят наши банки
8. Анализ состояния и эффективности использования оборотных средств ОАО «Владикавказ-Газоаппарат»
9. ПОЯСНИТЕЛЬНАЯ ЗАПИСКА Программа итогового государственного экзамена по дисциплине Теория государств
10. Страховые компании на российском рынке состояние и перспектив
11. ТЕМА Методические указания для практической и самостоятельной работы студентов заочной формы
12. АДМИНИСТРАТИВНОЕ ПРАВО (конспект лекций)
13. Western cost of continentl Europe
14. Расчет усилителя низкой частоты
15. методичний посібник для курсантів вищих навчальних закладів системи МВС України
16. Тема- Заболевания твёрдых тканей зубов возникающие до прорезывания нарушения развития- крапчатые зубы
17.  Сутягин Л обратился в суд с исковым заявлением к которому приложил следующие документы- документ подт
18. Ветеринарносанітарна експертиза з основами технології і стандартизації продуктів тваринництва для під
19. тематикина мотив песни Есть только миг-Дроби задачи не так мы решалиКуб и квадрат извлекали не так
20. Порядок подготовки к судебному заседанию