Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.06.11;
Скачать: CL | DM;

Вниз

Мелькание картинки при обновлении   Найти похожие ветки 

 
И. Павел   (2006-05-23 22:30) [0]

Здравствуйте. В программе нужно вывести изображение, которое с определённой скоростью будет двигаться по экрану. Я пытался сделать это через канву и просто меняя left и top для image. При большой скорости перерисовки изображение начинает мелькать. Посоветуйте, пожалуйста, как можно это избежать.


 
Gydvin ©   (2006-05-23 22:35) [1]

http://delphimaster.net/view/2-1147794206/


 
Virgo_Style ©   (2006-05-23 22:53) [2]

попробуйте DoubleBuffered


 
Loginov Dmitry ©   (2006-05-23 22:57) [3]

И. Павел   (23.05.06 22:30)
просто меняя left и top для image. При большой скорости перерисовки изображение начинает мелькать.


А что, вы сами его перерисовываете?


 
И. Павел   (2006-05-23 23:30) [4]

Да, в обработчике OnTimer я просто изменяю координаты изображения и вызываю метод Refresh.


 
Turbid ©   (2006-05-24 01:37) [5]

Самый простой вариант - используй двойную буфризацию, как подсказал Virgo_Style:

Создай еще одну канву, например компонент PaintBox, рисуй на нем, а на основной копируй.

Как вариант еще можно синхронизовать с вертикальной разверткой, но это сложней...


 
Loginov Dmitry ©   (2006-05-24 09:39) [6]

Turbid ©   (24.05.06 1:37) [5]
Создай еще одну канву, например компонент PaintBox, рисуй на нем, а на основной копируй.


Думаю, что имелось ввиду рисовать на канве TBitmap, а затем копировать на Image примерно так:
Image.Canvas.Draw(0, 0, Bitmap);


 
И. Павел   (2006-05-25 22:35) [7]

Заработало! Использование двух канв помогло, картинка теперь не мелькает. Огромное спасибо.



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

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

Наверх




Память: 0.48 MB
Время: 0.062 c
6-1135840770
Wolferio
2005-12-29 10:19
2006.06.11
Ping PC


2-1148210007
Мурзилка
2006-05-21 15:13
2006.06.11
размеры формы


4-1142617056
KALqYAN
2006-03-17 20:37
2006.06.11
Open -> My Computer, My Documents, Control Panel...


15-1148075340
Imbac
2006-05-20 01:49
2006.06.11
PHP


15-1147234447
antonn
2006-05-10 08:14
2006.06.11
помогите перевести пару предложений...