if (ImageFile.Width>Screen.Width) or (ImageFile.Height>Screen.Height) then
begin
AspectImage:=ImageFile.Width div ImageFile.Height;
WProc:=round(Screen.Width div 100);
HProc:=round(Screen.Height div 100);
WScale:=Screen.Width div WProc;
HScale:=Screen.Height div HProc;
WScale:=WScale-85;
HScale:=HScale-87;
WScale:=WScale*WProc;
HScale:=HScale*HProc;
SW:=Round(Screen.Width-WScale);
SH:=Round(Screen.Height-HScale);
if ImageFile.Width>ImageFile.Height then
begin
SH:=Round(SH*AspectImage);
end else
Begin
SW:=Round(SW/AspectImage);
end;
R.Right:=SW;
R.Bottom:=SH;
ImageViewer.Width:=SW+6;
ImageViewer.Height:=SH+6;
ImageViewer.Image.Width:=SW;
ImageViewer.Image.Height:=SH;
ImageViewer.Image.Canvas.StretchDraw(R, ImageFile.Graphic);
end;