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

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

DoubleBuffer...


X-RayMan ©   (2003-06-12 15:02:00) 

Рисую на канве панели. Когда рисую куб, т.е. 8 вершин и 12 граней, то все нормально. А когда рисую сферу 482 вершины и 960 граней заметно некоторое мограние. Насколько я знаю для устранения этого надо использовать двойную буферизацию. Может кто в двух словах об этом расскажет? Заранее благодарен.


Anatoly Podgoretsky   (2003-06-14 12:49:00) [1]

А вот чего смущает, так это зачем рисовать невидимые линии.


Anatoly Podgoretsky   (2003-06-14 12:48:00) [2]

Да какие возражения, это одно и тоже, битмап и копирование.


Asteroid   (2003-06-14 12:42:00) [3]

> Anatoly Podgoretsky © (14.06.03 12:37)
Я так понял очень хочется использовать "функции низкого уровня".


Asteroid   (2003-06-14 12:41:00) [4]

Тогда:

DC := GetDC( Panel1.Handle );
MemDC := CreateCompatibleDC( DC );
MemBM := CreateCompatibleBitmap( DC, Panel1.Width, Panel1.Height );
SelectObject( MemDC, MemBM );
.
. // (операции с MemDC);
.
BitBlt( DC, 0, 0, Panel1.Width, Panel1.Height, MemDC, 0, 0, SRCCOPY );


Anatoly Podgoretsky   (2003-06-14 12:37:00) [5]

Ну так рисуй его сначала на битмапе, а потом копируй на канву


X-RayMan   (2003-06-14 12:29:00) [6]

Это конечно хорошо, но если я использую функции низкого уровня?
Типа:
var
DC: hDC;
( Panel1.Handle,Image) [2]

Это конечно хорошо, но если я использую функции низкого уровня?
Типа:
var
DC: hDC;
Image: TPaintStruct;
...
DC:=BeginPaint(Panel1.Handle,Image);
...
MoveToEx(DC,0,0,nil);
LineTo(DC,300,300);
...


Asteroid   (2003-06-12 15:52:00) [7]

Panel1.DoubleBuffered := true;

В два слова никак не умещается, только в три.


Наверх

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