Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Устранение мерцаний Image.


Страницы:   1 2

Cr@sh ©   (2002-08-19 12:31:00) 

Ув. мастера, подскажите, пожалуйста, возможно ли устранить мерцание Image`a во время рисования на нем, особенно если используется событие ОнМаусМув.
Заранее спасибо.


Cr@sh   (2002-08-19 15:51:00) [21]

2lenin
Че то ты меня постоянно на полминуты опережаешь, пока пишу, рефреш делаю, твое сообщение уже появляется...


Cr@sh   (2002-08-19 15:46:00) [22]

>lenin
Я же говорю мне надо чтобы фон был прозрачным.


lenin   (2002-08-19 15:45:00) [23]


> Cr@sh © (19.08.02 15:39)
> >lenin
> У пэинт бокса нет транспарент, а мне надо, чтоб в нем график
> строился, фон был прозрачный, и еще чтоб не мерцал... :(

Я знаю, что у него нет транспарента. Ты рисуй на TBitmap-е, а затем выводи их на канву. Мерцания в этом случае не будет.


lenin   (2002-08-19 15:42:00) [24]


> Cr@sh ©

Я бы тебе посоветовал избавиться от Image. И воспользоваться вместо него TBitmap. Но в этом случае тебе предеться рисовать на конве либо формы, либо PaintBox-а. Но в данном случае никого мерцания не будет.


DeMoN-777   (2002-08-19 15:41:00) [25]

Вот тебе мой совет, используй двойную буферезацию. Что-то типа этого Form1.DoubleBuffered:=true;

P.S

Скажешь что из этого получилось ;)


Cr@sh   (2002-08-19 15:39:00) [26]

>lenin
У пэинт бокса нет транспарент, а мне надо, чтоб в нем график строился, фон был прозрачный, и еще чтоб не мерцал... :(


Cr@sh   (2002-08-19 15:36:00) [27]

>Dmitriy Polskoy
Неа, не канает все равно мерцает.


lenin   (2002-08-19 15:36:00) [28]


> Dmitriy Polskoy © (19.08.02 15:18)

Эта идея не работае, все равно мерцает.


> Kaban © (19.08.02 15:03)

И таймер тоже не помогает.

Я бы вообще отказался от Image. У меня была раньше аналогичная проблема, и я использовал вместо TImage TPaintBox.


Dmitriy Polskoy   (2002-08-19 15:18:00) [29]

Точно, я вспомнил: надо для Image1 свойство Align установить в
alCustom(ну, или как тебе надо). Идея заключается в том, что Image постоянно держит один и тотже размер и не позволяет появляться мерцанию.


Antonius   (2002-08-19 15:17:00) [30]

у некоторых контролов есть отличное свойство DoubleBuferred, но оно: 1 - рантайм онли 2 - по моему только у наследников WinControl. Свойство замечательное - напрочь устраняет мерцание у часто меняющихся контролов. Правда вывод ощутимо замедляется.


Dmitriy Polskoy   (2002-08-19 15:10:00) [31]

Я когда-то такое делал. Так вот получалось через установку какого-то свойства: толи Align, толи AutoSize. Попробуй.


Kaban   (2002-08-19 15:03:00) [32]

IMHO если ты делаешь через mousemove, мигать все равно будет.
Попробуй так положи на форму таймер, установи маленький интервал
В мousemove создавай новую картинку и кидай ее на canvas по таймеру.


Cr@sh   (2002-08-19 14:59:00) [33]

>Voldemar
Ошибочка вышла, у канваса нет контролстайла, а если такое делать для имэйджа, то все равно мерцает.
>Леха_
А не мог ли ты привести кой-нибудь примерчик, пожалуйста.


Voldemar   (2002-08-19 14:03:00) [34]

Image1.Canvas.ControlStyle:=ControlStyle+[csOpaque]; - и никакого мерцания.


Леха_   (2002-08-19 12:42:00) [35]

перерисовывать не все а только ту часть которая реально меняется
рисовать в памяти а потом копировать на экран


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо