Модераторы: Snowy, Alexeis, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Форма "моргает". Как сделать перерисовку быстрой? 
:(
    Опции темы
Borland_Delphi_6
Дата 5.7.2004, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


LoneLINEss
****


Профиль
Группа: Участник Клуба
Сообщений: 2509
Регистрация: 5.11.2002
Где: in fortune dreams ...

Репутация: нет
Всего: 20



Цитата
Кстати, мои эксперименты показывают, что при такой отрисовке BeginPaint и EndPaint не спасают от мерцания почему-то... Это если движение картинки делать.

Тогда не катит sad.gif но у меня вроде есть код пдходящий, проблема не в этом...


--------------------
Blind Guardian Fan :: BMSTU Student :: A polar bear is a rectangular bear after a coordinate transform.

Мои фотографии
PM MAIL WWW   Вверх
Albinos_x
Дата 5.7.2004, 17:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 1
Всего: 108



Borland_Delphi_6

мой вариан не пробовал?



--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
dm9
Дата 5.7.2004, 19:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дмитрий Копытин
****


Профиль
Группа: Vingrad developer
Сообщений: 3876
Регистрация: 22.7.2002
Где: Москва

Репутация: 3
Всего: 137



Borland_Delphi_6, на этих BeginPaint-ах свет клином не сошёлся. Их можно вообще не использовать.

Albinos_x, я немного не то имею в виду. Если делать отрисовку тем способом, который я предложил, через BitBlt, то эта самая отрисовка происходит сразу же, мгновенно. Если поставить отрисовку между BeginPaint и EndPaint, ничего не меняется. Поэтому если мы делаем движение картинки таким образом: стираем фон, а затем рисуем картинку на новом месте, то получается мерцание. Я знаю только один способ, как сделать, чтобы процесс перерисовки не появлялся на экране - рисовать на дополнительном DC, созданном при помощи CreateCompatibleDC, а затем его отрисовывать на основной DC. Проблема в том, что при больших изображениях получается медленно.

Можно, прада, применить хитрость. Если фон монотонный, то просто сделать окантовку картинке с таким же цветом и при плавном перемещении картинка сама будет закрашивать себя. Так я сделал в первом VCL-ном примере.

PS Может быть, глюк с BeginPaint и EndPaint связан с тем, что у меня Win2003...
PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Звук, графика и видео"
Girder
Snowy
Alexeis

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • По вопросам разработки игр стоит заглянуть сюда

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема »


 




[ Время генерации скрипта: 0.0634 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.