Вниз
Скачать: CL | DM;

Быстрая отрисовка 2D   Найти похожие ветки 

← →
Stager ©   (2003-01-25 00:00) [0]

Делаю свой визуальный компонент, столкнулся с такой проблемой. Обновлять картинку бывает нужно достаточно часто, а отрисовка делается штриховкой. Короче говоря - при больших размерах весьма заметно моргает.

Когда-то давным-давно, под DOS"ом, я был приучен рисовать на невидимую страницу видеорежима и циклически менять страницы по мере отрисовки. Есть ли какие-то аналоги здесь? (Например, создать дополнительный TCanvas, рисовать на нем и т.д.) Если да, то как это сделать? Если нет, то как сделать правильно?

ЗЫ. Прошу воздержаться от комментариев типа: оптимизируй отрисовку - тормозить не будет. Уже оптимизирована.

С уважением, Алексей.


← →
MBo ©   (2003-01-25 00:47) [1]

создать битмап, рисовать на нем, потом bitblt


← →
Stager ©   (2003-01-25 02:03) [2]

2 MBo

Хмм... А будет ли это быстрее?

С уважением, Алексей.


← →
MBo ©   (2003-01-25 04:01) [3]

Быстрее будет обновление


← →
Mihey   (2003-01-25 19:06) [4]

Угу, ещё как. Есть ещё такая фича. Когда нужно нарисовать компонент неправильной формы (ну хотя бы круг), то сложно сделать отрисовку компонента прозрачной. Лучше всего использовтаь регионы. Если нужен пример, то пишите.


← →
Brain   (2003-01-27 10:59) [5]

Рисуй прямо на CANVAS.

И два совета (выбери 1 или 2 способ):

1) Если добавить флаг csOpaque (непрозрачный) к свойству ControlStyle компонента - то фон компонента перерисовываться не будет.

constructor TMyControl.Create;
begin
inherited;
ControlStyle := ControlStyle + [csOpaque];
end;

2)Это позволяет отменить очистку BackGrounda;(Если с Transparent"ом)
private
Procedure WMEraseBkgnd(var Message: TWmEraseBkgnd); message WM_ERASEBKGND;

Procedure TbrPanel.WMEraseBkgnd(var Message: TWmEraseBkgnd);
Begin
Message.Result := 1;
End;



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.011 c
9-91135
drhdh
2002-11-17 18:05
2003.04.28
RPG


14-91537
alexey_ent
2003-04-10 17:44
2003.04.28
Подскажите литературу новичку.


14-91523
qwerty1000
2003-04-11 00:52
2003.04.28
Подскажите хорошую библиатеку шифрования!


6-91423
Novichek
2003-03-05 16:16
2003.04.28
Как скачать с интернета WEB-страницу


6-91428
dums
2003-03-05 17:50
2003.04.28
анонимность клиента при работе с ISAPI DLL??




   Наверх