Главная страница
    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.45 MB
Время: 0.01 c
1-52866
Hoper
2003-02-02 16:47
2003.02.17
потоки


14-53251
Adolf
2003-01-31 22:22
2003.02.17
XP


6-53145
lefan
2002-12-24 15:13
2003.02.17
обнавилась ли страница?


14-53167
Ricks
2003-02-02 18:20
2003.02.17
Недавно вернулся с Харьковской обласной олимпиады


3-52724
MasterHelpMe
2003-01-29 18:57
2003.02.17
Create Table(Virtual)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский