Форум: "Начинающим";
Текущий архив: 2006.06.11;
Скачать: [xml.tar.bz2];
ВнизМелькание картинки при обновлении Найти похожие ветки
← →
И. Павел (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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.011 c