Вниз
Скачать: 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.012 c
3-99464
Babenko Oleg
2003-12-05 11:03
2003.12.30
dBASE RUS cp866 в TDbf V6.3.0


1-99551
DelphiNew
2003-12-16 10:40
2003.12.30
проверка на кол-во символов


1-99626
rosl
2003-12-18 07:00
2003.12.30
MS Word


6-99676
AlexandrKu
2003-10-31 15:00
2003.12.30
сети,режим promise


14-99746
Шишкин Илья
2003-12-04 16:21
2003.12.30
Помогите проверить работоспосоность




   Наверх