Главная страница
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.022 c
6-99682
Фагот
2003-10-30 14:33
2003.12.30
POP3


1-99594
Брат
2003-12-17 10:41
2003.12.30
Сложный алгоритм


1-99525
Andriy Tysh
2003-12-16 15:39
2003.12.30
Image in QuickReport


4-99827
Sergey Koshelev
2003-11-03 13:10
2003.12.30
Multimedia timer


4-99812
DillerXX
2003-11-02 18:32
2003.12.30
Кнопка