Главная страница
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.05 c
2-1148360221
Leshasy
2006-05-23 08:57
2006.06.11
Прокрутить полосу прокрутки StringGris вниз


2-1148557809
tvv
2006-05-25 15:50
2006.06.11
Работа с DLL


15-1147702628
Pazitron_Brain
2006-05-15 18:17
2006.06.11
Видео с фотоаппарата Nikon.


15-1147932648
Nic
2006-05-18 10:10
2006.06.11
Чем можно скомпилировать


5-1133352457
jonny210
2005-11-30 15:07
2006.06.11
Нужно вытащить их TWebBrowser HTML код