![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Перерисовка Canvas [D6, Win95/98, WinME, Win2k, WinXP]
Вовчик © (2002-06-06 02:17:00)Народ подскажите как быстро перерисовывать рисунок, а то я рисую, а потом если протащить поверху какой нить панелькой, то она все затирает
Пробовал и на OnPaint вешать перерисовку и переопределить метод Paint, в принципе работает, но медленно видно косяки
int64 (2002-06-07 12:28:00) [1]
> ну нет у меня оригинала, картинка меняется динамически
Ну так сделай, чтоб был. Рисуй на оригинале, а потом на канву копируй. Причём копировать весь оригинал не обязательно. Достаточно брать те прямоугольники, что изменились(включая на репайнте UpdateRect).
А если хочешь прорисовку не по фрагментам, а полностью на всю канву, так и юзай TImage.
Andrey007 (2002-06-07 10:20:00) [2]Перерисовка рисунка не происходит при перетаскивании над ним окон если рисунок находится на Image.Canvas. У Вас, похоже, он на Form.Canvas.
Вовчик (2002-06-06 06:59:00) [3]ну нет у меня оригинала, картинка меняется динамически
skiph (2002-06-06 04:23:00) [4]Если у тебя есть оригинал в другом рисунке копируй:
BitBtn(ToBMP.Canvas.Handle, Left1, Top1, Right1, Bottom1, FromBMP.Canvas.Handle, Left1, Top1, SrcCopy);