Jak szybko scrollowac bitmape

0

Potrzebuję podpowiedzi jak zrobic szybkie scrollowanie bitmapy.
Na dzień dzisiejszy wykorzystuje coś takiego:

procedure TPULPIT.VrTimer1Timer(Sender: TObject);
begin
if (my<>0) then begin
my:=my+20;
Image1.canvas.FillRect(Image11.Canvas.ClipRect);
Image1.canvas.draw(mx,my,rysunek1);
Image1.canvas.rectangle(lx,ly,lx+1,ly+1);
Image2.canvas.FillRect(Image2.Canvas.ClipRect);
Image2.canvas.draw(mx,my,rysunek2);
Image2.canvas.rectangle(lx,ly,lx+1,ly+1);
Image3.canvas.FillRect(Image3.Canvas.ClipRect);
Image3.canvas.draw(mx,my,rysunek3);
Image3.canvas.rectangle(lx,ly,lx+1,ly+1);
if my = 0 then my:=-1940;
end;
end;
Timer.Interwal=15
rysunek to bitmapa o wymiarach 177x2225pikeli.
<font color="white">Porządany</span> <font color="red">[ort!] </span>efekt otrzymuję lecz przy <font color="white">przesówaniu </span> <font color="red">[ort!] </span>bitmapy co 20pikeli
<font color="violet">(my:=my+20;)</span> i
<font color="white">Niewiem</span> <font color="red">[ort!] </span> dlaczego czasami <font color="white">zdaża </span> <font color="red">[ort!] </span>sie ze którysś z obrazków stoi w miejscu a pozostałe sie <font color="white">przesówają </span> <font color="red">[ort!] </span>dając efekt
kręcących sie rolek.Może trzeba je w jakiś sposób odświeżac?
Natomiast było by dobrze gdyby szło manipulowac predkoscia przesuwu
lecz nie tracac <font color="white">porządanego</span> <font color="red">[ort!] </span> efektu.

0

Moze Timer ma zbyt krótki czas (albo na pewno :P, gdzieś tu na forum czytałem, że mniejsze niz 20 są w ogole nie mozliwe). Dodaj do procedurki Application.ProcessMessages - wszystko powinno się rysować.

1 użytkowników online, w tym zalogowanych: 0, gości: 1