61 lines
1.3 KiB
Plaintext
61 lines
1.3 KiB
Plaintext
unit umain;
|
|
|
|
interface
|
|
|
|
uses
|
|
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
|
|
StdCtrls, ieview, ImageEnView, ImageEnIO, iexBitmaps, hyieutils, hyiedefs,
|
|
iesettings, iexLayers, iexRulers;
|
|
|
|
type
|
|
TForm1 = class(TForm)
|
|
Label1: TLabel;
|
|
ImageEnView1: TImageEnView;
|
|
Button1: TButton;
|
|
Button2: TButton;
|
|
Label2: TLabel;
|
|
procedure Button1Click(Sender: TObject);
|
|
procedure Button2Click(Sender: TObject);
|
|
private
|
|
{ Private declarations }
|
|
sourceFile: string;
|
|
public
|
|
{ Public declarations }
|
|
end;
|
|
|
|
var
|
|
Form1: TForm1;
|
|
|
|
implementation
|
|
|
|
{$R *.DFM}
|
|
{$R WindowsTheme.res}
|
|
|
|
// Open...
|
|
procedure TForm1.Button1Click(Sender: TObject);
|
|
begin
|
|
sourceFile := ImageEnView1.IO.ExecuteOpenDialog('', ioJPEG);
|
|
ImageEnView1.IO.LoadFromFile(sourceFile);
|
|
end;
|
|
|
|
// Save...
|
|
// (not actually save, just apply a cut to source file)
|
|
procedure TForm1.Button2Click(Sender: TObject);
|
|
var
|
|
rc: TRect;
|
|
destFile: string;
|
|
begin
|
|
// request destination file
|
|
destFile := ImageEnView1.IO.ExecuteSaveDialog('', -1, ioJPEG);
|
|
if destFile <> '' then
|
|
begin
|
|
// get cut rectangle
|
|
with ImageEnView1 do
|
|
rc := Rect(SelX1, SelY1, SelX2, SelY2);
|
|
// apply lossless cut and save
|
|
JpegLosslessTransform(sourceFile, destFile, jtCut, false, jcCopyAll, rc);
|
|
end;
|
|
end;
|
|
|
|
end.
|