Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.12.30;
Скачать: 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 вся ветка

Текущий архив: 2003.12.30;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.016 c
7-99794
Piero
2003-10-22 22:20
2003.12.30
Как узнать диагональ монитора


1-99530
SlyFox
2003-12-18 08:34
2003.12.30
DLL и String


1-99568
arturchic
2003-12-13 22:01
2003.12.30
Delphi 7 и поддержка тем XP


7-99806
Александр из Минска
2003-10-23 20:33
2003.12.30
C: Windows System


1-99553
Tuzemec
2003-12-16 09:37
2003.12.30
Организация дерева