Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.17;
Скачать: CL | DM;

Вниз

Надо ли очищать Canvas   Найти похожие ветки 

 
anbezr   (2003-02-07 18:26) [0]

Привет!
может быть вопрос глупый, но...
я неоднократно (про каждом WM_PAINT) затираю Canvas:
R := ClientRect;
Brush.Color := clBtnFace;
Brush.Style := bsSolid;
Pen.Color := clBtnFase;
Rectangle(R);
и тут я вспомнил про метод, который позволяет сохранить Canvas как метафайл, т.е. все мои перетирания хранились как боксы в памяти?


 
MBo ©   (2003-02-07 18:28) [1]

вопрос неясен


 
anbezr   (2003-02-07 18:37) [2]

Вопрос в следующем: сохраняется ли каждый Rectangle в памяти при каждом вызове метода Paint, или же в памяти сохраняется только результат последнего Paint"а. другими словами - Canvas - это метафайл или Bitmap?


 
MBo ©   (2003-02-07 18:39) [3]

1) Не сохраняется
2) Ни то, ни другое.


 
Юрий Федоров ©   (2003-02-07 18:40) [4]

Ничего не хранится.
Можно не затирать, если в ответ на
WM_ERASEBKGND вернуть 0 (или не 0, точно не помню - посмотри по F1)


 
anbezr   (2003-02-07 18:43) [5]

просто из любопытства - а что тогда.


 
Юрий Зотов ©   (2003-02-07 21:02) [6]

Canvas - это объект Delphi, инкапсулирующий контекст устройства (DC), объекты GDI (Pen, Font, Brush) и методы рисования этими объектами на этом DC.


 
Style   (2003-02-07 21:20) [7]

А канву затирать не желательно. GUI и без того достаточно тормозит. Если ты например рисуешь линию, то запоминай ее старые координаты и затирай именно линию а не всю канву, если рисуешь Текст опять же запоминай координаты и рисуй текст фоновым цветом чтобы его предварительно стереть. Так же можно поступать и с TBitmap и т.д. Неудобно но практично!
А вообще есть такие интересные компоненты Delphi DirectX поищи их а именно TDXPaintBox, TDIB, у них есть тоже Canvas но рисуеться он раз в 20 быстрее и кроме того не трубуеться установки самого DirectX эти 2 компонента не используют его самого и соответственно работают на всех платформах 95,9x,NT,2000,XP..

Удачи!



Страницы: 1 вся ветка

Текущий архив: 2003.02.17;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.023 c
1-52908
race1
2003-02-08 13:51
2003.02.17
видимость


14-53274
HUD
2003-02-02 00:10
2003.02.17
Уже больше не у кого спрашивать, может вы поможите???


1-52842
aspen
2003-02-07 14:34
2003.02.17
Сделал программку, которая сама себя инсталирует, те если


4-53320
Cobalt
2003-01-06 21:32
2003.02.17
Опять SysTray ^__^


1-52926
Sterh
2003-02-07 21:22
2003.02.17
Bios Alarm