-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathUnitFormImageRotaterVcl.h
More file actions
97 lines (96 loc) · 3.1 KB
/
UnitFormImageRotaterVcl.h
File metadata and controls
97 lines (96 loc) · 3.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
//---------------------------------------------------------------------------
/*
* The Image Rotater (VCL edition). Rotates 24-bit bitmaps
* Copyright (C) 2007 Richel Bilderbeek
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
//---------------------------------------------------------------------------
#ifndef UnitFormImageRotaterVclH
#define UnitFormImageRotaterVclH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ComCtrls.hpp>
#include <ExtCtrls.hpp>
#include <Dialogs.hpp>
#include <Graphics.hpp>
//---------------------------------------------------------------------------
class TFormImageRotaterVcl : public TForm
{
__published: // IDE-managed Components
TPanel *PanelTop;
TButton *ButtonLoad;
TTrackBar *TrackBar1;
TButton *ButtonSave;
TButton *ButtonAbout;
TOpenDialog *OpenDialog1;
TImage *ImageOriginal;
TImage *ImageResult;
TSaveDialog *SaveDialog1;
void __fastcall ButtonLoadClick(TObject *Sender);
void __fastcall ButtonSaveClick(TObject *Sender);
void __fastcall ButtonAboutClick(TObject *Sender);
void __fastcall TrackBar1Change(TObject *Sender);
private: // User declarations
public: // User declarations
__fastcall TFormImageRotaterVcl(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TFormImageRotaterVcl *FormImageRotaterVcl;
//---------------------------------------------------------------------------
double GetAngle(const double dX, const double dY);
void SetPixelVcl(
TImage * const image,
const int x,
const int y,
const unsigned char red,
const unsigned char green,
const unsigned char blue);
void GetPixel(
const TImage * const image,
const int x,
const int y,
unsigned char& red,
unsigned char& green,
unsigned char& blue);
void Rotate(
const TImage * const imageOriginal,
TImage * const imageResult,
const double angle);
void GetPixel(
const TImage * const image,
const double x,
const double y,
unsigned char& red,
unsigned char& green,
unsigned char& blue);
void GetPixel(
const TImage * const image,
const int x_tl,
const int y_tl,
const double left,
const double top,
unsigned char& red,
unsigned char& green,
unsigned char& blue);
void Translate(
const double dx1,
const double dy1,
const double dAngle,
double& dx2,
double& dy2);
#endif