Вниз
Скачать: CL | DM;

Анимация без мерцания   Найти похожие ветки 

 
xxxXXxx   (2003-10-23 15:25) [0]

Есть код вида:

for j:=0 to maxY-1 do
begin
for i:=0 to maxX-1 do
begin
col := ...
//рисуем на канве точку
Image1.Canvas.Pixels[i,j] := col;
end;
// для того, чтобы отображалась отрисованная строка изображения
Application.ProcessMessages;
end;

Возникает проблема - при отрисовке картинки происходит мерцание изображения. Как этого избежать?
Попытки использовать SwapBuffers(DC) внутри цикла , где DC=GetDC(Form1.Handle) - устанавливал при создании форму не привели к положительному результату, может, что не так делал?
Помогите, пожалуйста.


 
N169   (2003-10-23 16:04) [1]

Control.DoubleBuffered:=True;
где Control - контрол, "на котором лежит" картинка.
Напр., Form1, если на форме, или Panel1, если на панели и т.п.


 
xxxXXxx   (2003-10-23 17:04) [2]

спасибо, работает :)


 
xxxXXxx   (2003-10-23 17:20) [3]

в вышеприведённом куске кода надо непосредственно перед Application.ProcessMessages;
поставить SwapBuffers( DC );
где DC := GetDC(Handle);



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.013 c
1-99612
TUser
2003-12-17 11:01
2003.12.30
Сумма


3-99459
badis
2003-12-03 07:53
2003.12.30
Как сделать так, чтобы БД работала без BDE Administrator


1-99570
Alex-chainik
2003-12-15 09:58
2003.12.30
Подобие TasBar в Windows


14-99767
angelant
2003-12-06 09:40
2003.12.30
Машина крутая... Но, черт возьми... глухая... :(


14-99766
Arefjeff
2003-12-05 20:53
2003.12.30
DelphiMaster красавчик!!!




   Наверх