Files
lazarus-ccr/components/jvcllaz/examples/JvImageTransform/jvimagetransformform.pas

82 lines
1.6 KiB
ObjectPascal
Raw Normal View History

unit JvImageTransformForm;
{ The images of this demo are taken from the Lazarus mushroom database example
in folder (lazarus)/examples/database/image_mushrooms
}
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, ExtCtrls, StdCtrls,
JvImageTransform;
type
{ TMainForm }
TMainForm = class(TForm)
Bevel1: TBevel;
btnTransform: TButton;
ComboBox1: TComboBox;
Image1: TImage;
Image2: TImage;
Image3: TImage;
JvImageTransform1: TJvImageTransform;
Label1: TLabel;
Panel1: TPanel;
Panel2: TPanel;
procedure btnTransformClick(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
FCurrImage: Integer;
public
end;
var
MainForm: TMainForm;
implementation
{$R *.lfm}
{ TMainForm }
procedure TMainForm.btnTransformClick(Sender: TObject);
var
pic: TPicture;
begin
// Execute the transformation
JvImageTransform1.Transform;
// Load next image
FCurrImage := (FCurrImage + 1) mod 3;
case FCurrImage of
0: pic := Image1.Picture;
1: pic := Image2.Picture;
2: pic := Image3.Picture;
end;
if JvImageTransform1.ImageShown = 1 then
JvImageTransform1.Picture2.Assign(pic)
else
JvImageTransform1.Picture1.Assign(pic);
end;
procedure TMainForm.ComboBox1Change(Sender: TObject);
begin
JvImageTransform1.TransformType := TJvTransformationKind(ComboBox1.ItemIndex);
end;
procedure TMainForm.FormCreate(Sender: TObject);
begin
JvImageTransform1.Picture1.Assign(Image1.Picture);
JvImageTransform1.Picture2.Assign(Image2.Picture);
end;
end.