Jak sie pozbyc efektu odswiezania?

2002-02-20 20:19
Zuk
0

w delphi 6 napisalem program, ktory na kanwie komponentu TImage rysuje "kreski" co okreslony czas (wywolany timerem).
co kilka sekund (rysowanie co sekunda) jest efekt odswiezania.
jak sie pozbyc tego fektu?

pozdrawiam

Zuk--Zuk

Pozostało 580 znaków

2002-02-20 21:05
wojtas
0

Zuk [mailto:[email protected]] w dniu 20.2.2002 20:19 napisal:
w delphi 6 napisalem program, ktory na kanwie komponentu TImage rysuje "kreski" co okreslony czas (wywolany timerem).
&gtco kilka sekund (rysowanie co sekunda) jest efekt odswiezania.
&gtjak sie pozbyc tego fektu?
&gt
&gtpozdrawiam
&gt
&gtZuk
&gt
&gt--
&gtZuk

Blitting/Scrolling

BLITTING : wymaga nanoszenia grafiki na bitmape robocza, przechowywana w RAM i w momencie gdy jest ona gotowa kopiuje calosc na ekran

SCROLING : opiera sie na stworzeniu wirtualnego ekranu, wiekszego niz ekran widoczny (zazwyczaj stosuje sie obszar dwukrotnie wyzszy lub szerszy ) . Rysowanie wykonywane jest na niewidocznej czesci takiego ekranu i gdy zostanie zakonczone ekran jest przesuwany .

Z powyzszego wynika ze nienajlepszym rozwiazaniem jest bezposrednie rysowanie na TImage . Polecam rozwiazanie 1 (BLITTING) jest prostsze do wykonania w twoim przypadku w Delphi . Wystarczy ze stwozysz sobie bitmape i na niej rysujesz a gdy obrazek gotowy to myk kopiujesz calosc do TImage i gotowe ... nie mruga :-)

3maj sie--Lets make linux better :-)

Pozostało 580 znaków

2002-02-22 05:09
rco_99
0

Proponuję użycie gotowej funkcji

LockWindowUpdate(Uchwyt.Handle);             * blokuj odświeżanie
LockWindowUpdate(0);                                 * odblokuj odswieżanie

powodzenia--Marco_99

Pozostało 580 znaków

Liczba odpowiedzi na stronę

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