121 lines
2.9 KiB
Plaintext
121 lines
2.9 KiB
Plaintext
unit umain;
|
|
|
|
interface
|
|
|
|
uses
|
|
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
|
|
ieview, imageenview, ExtCtrls, Menus, histogrambox, StdCtrls, Buttons;
|
|
|
|
type
|
|
TMainForm = class(TForm)
|
|
Panel1: TPanel;
|
|
ImageEnView1: TImageEnView;
|
|
HistogramBoxGray: THistogramBox;
|
|
Label1: TLabel;
|
|
Label2: TLabel;
|
|
HistogramBoxRed: THistogramBox;
|
|
Label3: TLabel;
|
|
HistogramBoxGreen: THistogramBox;
|
|
Label4: TLabel;
|
|
HistogramBoxBlue: THistogramBox;
|
|
Panel2: TPanel;
|
|
SpeedButton1: TSpeedButton;
|
|
SpeedButton2: TSpeedButton;
|
|
SpeedButton3: TSpeedButton;
|
|
Button1: TButton;
|
|
Button2: TButton;
|
|
lblHue: TLabel;
|
|
HistogramBoxHue: THistogramBox;
|
|
procedure FormCreate(Sender: TObject);
|
|
procedure ImageEnView1SelectionChange(Sender: TObject);
|
|
procedure SpeedButton1Click(Sender: TObject);
|
|
procedure SpeedButton2Click(Sender: TObject);
|
|
procedure SpeedButton3Click(Sender: TObject);
|
|
procedure Button1Click(Sender: TObject);
|
|
procedure Button2Click(Sender: TObject);
|
|
private
|
|
{ Private declarations }
|
|
procedure UpdateHistograms;
|
|
public
|
|
{ Public declarations }
|
|
end;
|
|
|
|
var
|
|
MainForm: TMainForm;
|
|
|
|
implementation
|
|
|
|
uses ushowdata;
|
|
|
|
{$R *.DFM}
|
|
{$R WindowsTheme.res}
|
|
|
|
|
|
|
|
procedure TMainForm.FormCreate(Sender: TObject);
|
|
begin
|
|
HistogramBoxGray .AttachedImageEnProc := ImageEnView1.Proc;
|
|
HistogramBoxRed .AttachedImageEnProc := ImageEnView1.Proc;
|
|
HistogramBoxGreen.AttachedImageEnProc := ImageEnView1.Proc;
|
|
HistogramBoxBlue .AttachedImageEnProc := ImageEnView1.Proc;
|
|
HistogramBoxHue .AttachedImageEnProc := ImageEnView1.Proc;
|
|
|
|
HistogramBoxGray .HistogramStyle := hsFilledLines;
|
|
HistogramBoxRed .HistogramStyle := hsFilledLines;
|
|
HistogramBoxGreen.HistogramStyle := hsFilledLines;
|
|
HistogramBoxBlue .HistogramStyle := hsFilledLines;
|
|
HistogramBoxHue .HistogramStyle := hsFilledLines;
|
|
end;
|
|
|
|
procedure TMainForm.ImageEnView1SelectionChange(Sender: TObject);
|
|
begin
|
|
UpdateHistograms();
|
|
end;
|
|
|
|
// rectangle selection
|
|
procedure TMainForm.SpeedButton1Click(Sender: TObject);
|
|
begin
|
|
if SpeedButton1.Down then
|
|
ImageEnView1.MouseInteract:=[miSelect];
|
|
end;
|
|
|
|
// ellipse selection
|
|
procedure TMainForm.SpeedButton2Click(Sender: TObject);
|
|
begin
|
|
if SpeedButton2.Down then
|
|
ImageEnView1.MouseInteract:=[miSelectCircle];
|
|
end;
|
|
|
|
// polygon selection
|
|
procedure TMainForm.SpeedButton3Click(Sender: TObject);
|
|
begin
|
|
if SpeedButton3.Down then
|
|
ImageEnView1.MouseInteract:=[miSelectPolygon];
|
|
end;
|
|
|
|
// Show Values
|
|
procedure TMainForm.Button1Click(Sender: TObject);
|
|
begin
|
|
FShowValues.ShowModal;
|
|
end;
|
|
|
|
// Open
|
|
procedure TMainForm.Button2Click(Sender: TObject);
|
|
begin
|
|
with ImageEnView1.IO do
|
|
LoadFromFile( ExecuteOpenDialog('','',false,1,'') );
|
|
UpdateHistograms();
|
|
end;
|
|
|
|
procedure TMainForm.UpdateHistograms;
|
|
begin
|
|
HistogramBoxGray.Update;
|
|
HistogramBoxRed.Update;
|
|
HistogramBoxGreen.Update;
|
|
HistogramBoxBlue.Update;
|
|
HistogramBoxHue.Update;
|
|
end;
|
|
|
|
|
|
end.
|