Вообще, просто заведи себе коэф. "увеличения".
Пусть у тебя оригинальная картинка (ее размер) лежит в ImgSize : TPoint (просто удобно использовать данный тип). Тогда:
Код:
type
TForm1 = class(TForm)
...
Image1 : TImage;
...
private
ImgScale : Double; // default 1.0 - set in OnCreate
ImgSize : TPoing; // Width and Height of original image, set when load image
end;
...
procedure TForm1.ResizeImage;
begin
Image1.Width := Round(ImgSize.x*ImgScale);
Image1.Height := Round(ImgSize.y*ImgScale);
end;
procedure TForm1.btZoomInClick(Sender : TObject);
begin
ImgScale := ImgScale * 2;
ResizeImage;
end;
procedure TForm1.btZoomOutClick(Sender : TObject);
begin
ImgScale := ImgScale / 2;
ResizeImage;
end;