Чет вы ребята забыли про DoubleBuffered. Короче, кидай на форму два Scrolla, Button, ScrollBox, в него Image.
У image не забудь поставить Stretch = true. Я делал для bmp, но сути это не меняет.
Теперь пиши туда этот код:
Код:
var
H, W: integer; //глобальные переменные, начальная высота и ширина рисунка
procedure TForm1.Button1Click(Sender: TObject);
begin
Form1.ScrollBox1.DoubleBuffered := true; // Ыыыыы
with Image1.Picture.Bitmap do begin
LoadFromFile('C:\Alien.bmp');
H := Height;
W := Width;
Image1.Width := Width;
Image1.Height := Height;
end;
end;
procedure TForm1.ScrollBar2Scroll(Sender: TObject; ScrollCode: TScrollCode;
var ScrollPos: Integer);
begin
Image1.Height := Round((ScrollPos / 50) * H);
end;
procedure TForm1.ScrollBar1Scroll(Sender: TObject; ScrollCode: TScrollCode;
var ScrollPos: Integer);
begin
Image1.Width := Round((ScrollPos / 50) * W);
end;
end.