![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Устранение мерцаний Image.
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]перерисовывать не все а только ту часть которая реально меняется
рисовать в памяти а потом копировать на экран