160 lines
4.8 KiB
Plaintext
160 lines
4.8 KiB
Plaintext
unit Unit1;
|
|
|
|
interface
|
|
|
|
uses
|
|
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
|
|
ImageEnView, IEMView, StdCtrls, ImageEnIO, ComCtrls, ieview, hyiedefs,
|
|
ExtCtrls, hyieutils, FileCtrl, iexBitmaps, iesettings, iexLayers, iexRulers;
|
|
|
|
type
|
|
TForm1 = class(TForm)
|
|
GroupBox1: TPanel;
|
|
DriveComboBox1: TDriveComboBox;
|
|
DirectoryListBox1: TDirectoryListBox;
|
|
ImageEnMView1: TImageEnMView;
|
|
StatusBar1: TStatusBar;
|
|
ImageEnView1: TImageEnView;
|
|
CheckBox2: TCheckBox;
|
|
CheckBox4: TCheckBox;
|
|
Splitter1: TSplitter;
|
|
CheckBox7: TCheckBox;
|
|
CheckBox1: TCheckBox;
|
|
procedure DirectoryListBox1Change(Sender: TObject);
|
|
procedure FormActivate(Sender: TObject);
|
|
procedure ImageEnMView1ImageSelect(Sender: TObject; idx: Integer);
|
|
procedure CheckBox2Click(Sender: TObject);
|
|
procedure CheckBox4Click(Sender: TObject);
|
|
procedure CheckBox7Click(Sender: TObject);
|
|
procedure ImageEnMView1BeforeImageDrawEx(Sender: TObject; idx, Left,
|
|
Top: Integer; Dest: TBitmap; var ThumbRect: TRect);
|
|
procedure ImageEnMView1MouseDown(Sender: TObject; Button: TMouseButton;
|
|
Shift: TShiftState; X, Y: Integer);
|
|
procedure CheckBox1Click(Sender: TObject);
|
|
private
|
|
{ Private declarations }
|
|
public
|
|
{ Public declarations }
|
|
ThumbBackground: TImageEnView;
|
|
SelThumbBackground: TImageEnView;
|
|
end;
|
|
|
|
var
|
|
Form1: TForm1;
|
|
|
|
implementation
|
|
|
|
{$R *.DFM}
|
|
{$R WindowsTheme.res}
|
|
|
|
//
|
|
|
|
procedure TForm1.DirectoryListBox1Change(Sender: TObject);
|
|
begin
|
|
ImageEnMView1.Clear;
|
|
ImageEnMView1.FillFromDirectory(DirectoryListBox1.Directory);
|
|
//
|
|
ImageEnMView1.SelectedImage := 0;
|
|
ImageEnView1.io.LoadFromFile(ImageEnMView1.ImageFileName[0]);
|
|
end;
|
|
|
|
procedure TForm1.FormActivate(Sender: TObject);
|
|
begin
|
|
ImageEnMView1.EnableAlphaChannel := true;
|
|
ImageEnVIew1.GradientEndColor := clGray;
|
|
ImageenMView1.SoftShadow.Enabled := false;
|
|
//ImageEnMView1.WallPaper.LoadFromFile(extractfilepath(paramstr(0))+'wallpaper.bmp');
|
|
|
|
imageenmview1.FillThumbnail := false;
|
|
imageenmview1.SelectionWidth := 0;
|
|
imageenmview1.ShowText := false;
|
|
imageenmview1.Style := iemsFlat;
|
|
|
|
ThumbBackground := TImageEnView.Create(self);
|
|
ThumbBackground.IO.LoadFromFilePNG(extractfilepath(paramstr(0)) + 'thumb.dat');
|
|
ImageEnMView1.ThumbWidth := ThumbBackground.IEBitmap.Width;
|
|
ImageEnMView1.ThumbHeight := ThumbBackground.IEBitmap.Height;
|
|
|
|
SelThumbBackground := TImageEnView.Create(self);
|
|
SelThumbBackground.IO.LoadFromFilePNG(extractfilepath(paramstr(0)) + 'thumb.dat');
|
|
SelThumbBackground.Proc.IntensityRGBall(-50, 20, -50);
|
|
|
|
//ImageEnMView1.ThreadPoolSize:=0; // uncomment if you want monotasking load
|
|
//
|
|
DirectoryListBox1Change(self);
|
|
end;
|
|
|
|
procedure TForm1.ImageEnMView1ImageSelect(Sender: TObject; idx: Integer);
|
|
begin
|
|
if CheckBox1.Checked then
|
|
ImageEnView1.io.LoadFromFile(ImageEnMView1.ImageFileName[idx]);
|
|
end;
|
|
|
|
// softshadow
|
|
procedure TForm1.CheckBox2Click(Sender: TObject);
|
|
begin
|
|
ImageEnMView1.SoftShadow.Enabled := CheckBox2.Checked;
|
|
ImageEnMView1.Update;
|
|
end;
|
|
|
|
// wall paper
|
|
|
|
procedure TForm1.CheckBox4Click(Sender: TObject);
|
|
begin
|
|
if CheckBox4.Checked then
|
|
ImageEnMView1.WallPaper.LoadFromFile(extractfilepath(paramstr(0)) + 'wallpaper.bmp')
|
|
else
|
|
ImageEnMView1.WallPaper := nil;
|
|
ImageEnMView1.Update;
|
|
end;
|
|
|
|
// Thumbnails rounded
|
|
procedure TForm1.CheckBox7Click(Sender: TObject);
|
|
begin
|
|
if CheckBox7.Checked then
|
|
ImageEnMView1.ThumbsRounded := 5
|
|
else
|
|
ImageEnMView1.ThumbsRounded := 0;
|
|
ImageEnMView1.Update;
|
|
end;
|
|
|
|
procedure TForm1.ImageEnMView1BeforeImageDrawEx(Sender: TObject; idx, Left,
|
|
Top: Integer; Dest: TBitmap; var ThumbRect: TRect);
|
|
begin
|
|
//if idx = ImageEnMView1.SelectedImage then
|
|
if ImageEnMView1.IsSelected(idx) then
|
|
SelThumbBackground.IEBitmap.RenderToTBitmapEx(Dest, Left, Top, ImageEnMView1.ThumbWidth, ImageEnMView1.ThumbHeight, 0, 0, SelThumbBackground.IEBitmap.Width, SelThumbBackground.IEBitmap.Height, 255, rfNone, ielNormal)
|
|
else
|
|
ThumbBackground.IEBitmap.RenderToTBitmapEx(Dest, Left, Top, ImageEnMView1.ThumbWidth, ImageEnMView1.ThumbHeight, 0, 0, ThumbBackground.IEBitmap.Width, ThumbBackground.IEBitmap.Height, 255, rfNone, ielNormal);
|
|
ThumbRect.Left := 32;
|
|
ThumbRect.Top := 49;
|
|
ThumbRect.Right := 154;
|
|
ThumbRect.Bottom := 140;
|
|
end;
|
|
|
|
procedure TForm1.ImageEnMView1MouseDown(Sender: TObject;
|
|
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
|
|
var
|
|
i: integer;
|
|
begin
|
|
//
|
|
i := ImageEnMView1.ImageAtPos(X, Y);
|
|
if i > -1 then
|
|
begin
|
|
dec(X, ImageEnMView1.ImageX[i]);
|
|
dec(Y, ImageEnMView1.ImageY[i]);
|
|
if (X >= 138) and (X <= 152) and (Y >= 146) and (Y <= 163) then
|
|
begin
|
|
ShowMessage(ImageEnMView1.ImageFileName[i] + #13 +
|
|
IntToStr(ImageEnMView1.ImageOriginalWidth[i]) + 'x' + IntToStr(ImageEnMView1.ImageOriginalHeight[i]));
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
procedure TForm1.CheckBox1Click(Sender: TObject);
|
|
begin
|
|
ImageEnView1.Visible:=CheckBox1.Checked;
|
|
end;
|
|
|
|
end.
|