Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.02.17;
Скачать: [xml.tar.bz2];

Вниз

Надо ли очищать 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.009 c
1-53101
w666w
2003-02-06 17:07
2003.02.17
Как отобразить стрелки сортировки в ListView?


1-52999
3asys
2003-02-10 16:19
2003.02.17
Изменение размеров TPanel в run-time


1-53077
shane54
2003-02-06 14:01
2003.02.17
Базовы навыки TreeView


3-52746
Dimich1978
2003-01-30 16:00
2003.02.17
Помогите не пойму в чем дело с БД творится?


1-52934
NetKnight
2003-02-05 09:37
2003.02.17
Shortcuts





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский