Главная страница
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.019 c
1-53071
Юный_программер
2003-02-06 17:14
2003.02.17
Не покажите на примерчике как работать с классом TString?


3-52743
Makhanev A.S.
2003-01-30 14:45
2003.02.17
BDE: неужели всё так плохо?


14-53176
dimich1978
2003-01-31 10:59
2003.02.17
ПЕНСИОННЫЙ ФОНД ПОД ВИНДУ и FREEWARE


3-52771
korvin
2003-01-30 20:05
2003.02.17
Обрезание длинны поля в Интербейсе


7-53313
pfar
2002-12-01 07:05
2003.02.17
Опрос модема USB