Графические возможности стандартной библиотеки VCL

СОДЕРЖАНИЕ: ОТЧЁТ по лабораторной работе № 1. Тема: Графические возможности стандартной библиотеки VCL Цель :Изучить графические возможности стандартной библиотеки визуальных компонентов VCL, функций и процедур модуля Graphics. Научиться работать с отдельными точками растра. Освоить рисование сплошных объектов.

ОТЧЁТ

по лабораторной работе № 1.

Тема: Графические возможности стандартной библиотеки VCL

Цель:Изучить графические возможности стандартной библиотеки визуальных компонентов VCL , функций и процедур модуля Graphics . Научиться работать с отдельными точками растра. Освоить рисование сплошных объектов.

Задание:Создать программу для закрашивания рисунка квадратами 20х20 пикселей с возможностью задания цвета из палитры цветов.

Содержание отчета

1. Практическая часть.

1.1. Размещаю на форме 3 компонента Button, 1 компонент типа ColorDialog, 1 компонент StatusBar и 2 компонента Image. Задаю нужные свойства компонентам и добавляю свойству Picture компонента Image рисунок.

Рис 1. Добавление рисунка.

1.2. В компонент StatusBar разбиваю панель на две части.

Рис 2. Разбиение панели на две части

Рис 3. Приложение на этапе проектирования.

1.3. После настройки компонентов и самого приложения получаю работающее приложение.

Рис 4. Работающее приложение.

2. Листинг программы.

Unit1.h

//---------------------------------------------------------------------------

#ifndef Unit1H

#define Unit1H

//---------------------------------------------------------------------------

#include Classes.hpp

#include Controls.hpp

#include StdCtrls.hpp

#include Forms.hpp

#include ExtCtrls.hpp

#include jpeg.hpp

#include ComCtrls.hpp

#include Dialogs.hpp

#include Graphics.hpp

//---------------------------------------------------------------------------

class TForm1 : public TForm

{

__published: // IDE-managed Components

TButton *Button1;

TButton *Button2;

TButton *Button3;

TStatusBar *StatusBar1;

TImage *Image1;

TImage *Image2;

TColorDialog *ColorDialog1;

TLabel *Label1;

TLabel *Label2;

void __fastcall Button3Click(TObject *Sender);

void __fastcall Button1Click(TObject *Sender);

void __fastcall Button2Click(TObject *Sender);

void __fastcall Image1MouseMove(TObject *Sender, TShiftState Shift,

int X, int Y);

void __fastcall Image1MouseDown(TObject *Sender,

TMouseButton Button, TShiftState Shift, int X, int Y);

private: // User declarations

public: // User declarations

__fastcall TForm1(TComponent* Owner);

};

//---------------------------------------------------------------------------

extern PACKAGE TForm1 *Form1;

//---------------------------------------------------------------------------

#endif

Unit1.cpp

//---------------------------------------------------------------------------

#include vcl.h

#pragma hdrstop

#include Unit1.h

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource *.dfm

TForm1 *Form1;

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button3Click(TObject *Sender)

{

Form1-Close();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)

{

ColorDialog1-Color=Image1-Canvas-Pen-Color;

if(ColorDialog1-Execute()) {

Image1-Canvas-Pen-Color=ColorDialog1-Color;//цветпера

Image1-Canvas-Brush-Color=ColorDialog1-Color;//цветкисти

StatusBar1-Panels-Items[1]-Text=(AnsiString)ColorDialog1-Color;

}

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)

{

{Image1-Picture-Assign(Image2-Picture);}

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Image1MouseMove(TObject *Sender, TShiftState Shift,

int X, int Y)

{

StatusBar1-Panels-Items[0]-Text=(AnsiString)X+:+(AnsiString)Y;

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Image1MouseDown(TObject *Sender,

TMouseButton Button, TShiftState Shift, int X, int Y)

{

TRect Rct;

Rct.Left=X-10;

Rct.Top=Y-10;

Rct.Right=X+10;

Rct.Bottom=Y+10;

Image1-Canvas-Rectangle(Rct);

Image1-Canvas-FillRect(Rct);

}

//---------------------------------------------------------------------------

Скачать архив с текстом документа