110 lines
2.6 KiB
Plaintext
110 lines
2.6 KiB
Plaintext
unit umain;
|
|
|
|
interface
|
|
|
|
uses
|
|
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
|
|
Menus, StdCtrls, ieview, imageenview, ExtCtrls, ComCtrls, hyieutils, iexBitmaps,
|
|
hyiedefs, iesettings, iexLayers, iexRulers;
|
|
|
|
type
|
|
TForm1 = class(TForm)
|
|
MainMenu1: TMainMenu;
|
|
File1: TMenuItem;
|
|
Open1: TMenuItem;
|
|
Save1: TMenuItem;
|
|
N1: TMenuItem;
|
|
Exit1: TMenuItem;
|
|
Panel1: TPanel;
|
|
ImageEnView1: TImageEnView;
|
|
Label1: TLabel;
|
|
Button1: TButton;
|
|
Edit1: TEdit;
|
|
UpDown1: TUpDown;
|
|
Label2: TLabel;
|
|
Edit2: TEdit;
|
|
UpDown2: TUpDown;
|
|
Label3: TLabel;
|
|
Edit3: TEdit;
|
|
UpDown3: TUpDown;
|
|
Edit4: TMenuItem;
|
|
Background1: TMenuItem;
|
|
ColorDialog1: TColorDialog;
|
|
procedure Button1Click(Sender: TObject);
|
|
procedure Open1Click(Sender: TObject);
|
|
procedure Save1Click(Sender: TObject);
|
|
procedure Background1Click(Sender: TObject);
|
|
private
|
|
{ Private declarations }
|
|
public
|
|
{ Public declarations }
|
|
end;
|
|
|
|
var
|
|
Form1: TForm1;
|
|
|
|
implementation
|
|
|
|
uses imageenproc;
|
|
|
|
{$R *.DFM}
|
|
{$R WindowsTheme.res}
|
|
|
|
// Apply
|
|
|
|
procedure TForm1.Button1Click(Sender: TObject);
|
|
begin
|
|
ImageEnView1.Proc.Undo; // get original image
|
|
ImageEnView1.Proc.AddSoftShadow(StrToFloat(Edit1.text),
|
|
StrToIntDef(Edit2.Text, 0),
|
|
StrToIntDef(Edit3.text, 0), true, clBlack);
|
|
end;
|
|
|
|
// File Open
|
|
|
|
procedure TForm1.Open1Click(Sender: TObject);
|
|
begin
|
|
with ImageEnView1.IO do
|
|
LoadFromFile(ExecuteOpenDialog('', '', false, 1, ''));
|
|
ImageEnView1.Proc.SaveUndo(ieuImage); // save image in undo list (to allow multiple changes of shadow parameters)
|
|
|
|
// Make zoom 90% of fit so shadow is visible
|
|
ImageEnView1.Fit();
|
|
ImageEnView1.Zoom := ImageEnView1.Zoom * 0.90;
|
|
end;
|
|
|
|
// File Save
|
|
|
|
procedure TForm1.Save1Click(Sender: TObject);
|
|
var
|
|
filename, ext: string;
|
|
begin
|
|
filename := ImageEnView1.Io.ExecuteSaveDialog('', '', false, 0, '');
|
|
if filename <> '' then
|
|
begin
|
|
ext := lowercase(ExtractFileExt(filename));
|
|
if not ((ext = '.png') or (ext = '.tga')) then
|
|
begin
|
|
// alpha channel not supported by jpeg, bmp, etc...we need to merge alpha
|
|
ImageEnView1.Proc.SaveUndo(ieuImage); // save all
|
|
ImageEnView1.RemoveAlphaChannel(true); // remove alpha channel
|
|
ImageEnView1.IO.SaveToFile(filename);
|
|
ImageEnView1.Proc.Undo; // reget alpha channel
|
|
end
|
|
else
|
|
// alpha channel supported, just save
|
|
ImageEnView1.IO.SaveToFile(filename);
|
|
end;
|
|
end;
|
|
|
|
// change background
|
|
|
|
procedure TForm1.Background1Click(Sender: TObject);
|
|
begin
|
|
ColorDialog1.Color := ImageEnView1.Background;
|
|
if ColorDialog1.Execute then
|
|
ImageEnView1.Background := ColorDialog1.Color;
|
|
end;
|
|
|
|
end.
|