Главная страница
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.021 c
3-99480
Dimaz-z
2003-12-04 21:20
2003.12.30
Проблема с индексами в ClientDataSet!


14-99790
Soft
2003-12-05 03:51
2003.12.30
В Athlon XP 2000 обнаружена ошибка при выполнении триг. операций.


1-99629
изм
2003-12-16 15:09
2003.12.30
иконки


14-99737
Chuha
2003-12-08 08:27
2003.12.30
Гробница фараона


7-99794
Piero
2003-10-22 22:20
2003.12.30
Как узнать диагональ монитора