Форум: "Начинающим";
Текущий архив: 2007.12.09;
Скачать: [xml.tar.bz2];
ВнизПобедить мерцание на Canvas е. Найти похожие ветки
← →
AlexanderMS © (2007-11-10 16:19) [0]При вводе каждого символа в текстовое поле происходит рисование текста на Canvas"е PaintBox"а. При этом возникает мерцание, которое, естественно, мешает. Как можно его победить? А именно:
1) Как сделать механизм двойной буферизации, как в OpenGL? Может быть, это поможет?
2) Можно ли выводить текст XOR-ом?
← →
Kolan © (2007-11-10 16:21) [1]1. DuobleBuffered := True?
← →
AlexanderMS © (2007-11-10 16:39) [2]
> 1. DuobleBuffered := True?
У какого объекта?
← →
Kolan © (2007-11-10 16:44) [3]TWinControl ?
← →
AlexanderMS © (2007-11-10 17:36) [4]Спасибо, сделал, но, скорее всего неверно: мерцание всё равно есть.
// Target : TComponent
TPanel(Target).DoubleBuffered := true;
Canvas := THackedPanel(Target).Canvas;//TPaintBox(Target).Canvas;
Canvas.Brush.Color := BGColor;
и так далее.
Я просто хотел реализовать вручную, то есть создать Canvas, на него вывести, а затем через CopyRect скопировать. Как это сделать? Я пробовал, но не получалось: Canvas "не разрешал рисование".
← →
homm © (2007-11-10 18:11) [5]> [4] AlexanderMS © (10.11.07 17:36)
> Спасибо, сделал, но, скорее всего неверно
Конечно нет.
Вот рецепт.TPanel(Target).DoubleBuffered := true;
— это при загрузки формы, один раз.Canvas.Brush.Color := BGColor;
— это и прочее рисоание в OnPaint твоего TPaintBox в течении дня по мере необходимости.
Обновлять изображение — PaintBox.invalidate();
← →
AlexanderMS © (2007-11-10 19:07) [6]
> homm © (10.11.07 18:11) [5]
Спасибо, попробую.
Если панель будет прорисовывться в секунду несколько раз (скорость набора на клавиатуре), мерцания не будет?
Ладно, посмотрю сам. :)
← →
Kolan © (2007-11-10 19:15) [7]> Ладно, посмотрю сам. :)
А ты хотел чтобы мы проверили? о_0
← →
AlexanderMS © (2007-11-10 19:30) [8]
> А ты хотел чтобы мы проверили? о_0
Предположили :)
Большое спасибо, теперь рисую на Image, и вообще нет мерцания!
← →
Gydvin © (2007-11-11 19:39) [9]ну и рисовал бы на битмапе, а затем отрисовывал на паинтбокс.
зы. timage компонент вредный имхо ((
← →
AlexanderMS © (2007-11-11 19:47) [10]
> зы. timage компонент вредный имхо ((
Да уж. Долго бился над тем, как изменить его размер... :) Да ещё с чёрным проблескиванием.
← →
homm © (2007-11-11 19:51) [11]> [9] Gydvin © (11.11.07 19:39)
> ну и рисовал бы на битмапе, а затем отрисовывал на паинтбокс.
Верно, нафига пользоватся отлаженым кодом, созданым дядушкой борландом, куда лучше свое кривое на коленке состряпать, ага? Впрочем для самообучения может и лучше.
← →
Gydvin © (2007-11-11 20:17) [12]
> куда лучше свое кривое на коленке состряпать, ага?
Ну, смотря как стряпать )
← →
homm © (2007-11-11 20:52) [13]> [12] Gydvin © (11.11.07 20:17)
> Ну, смотря как стряпать )
А как ты думаешь, состряпает автор. если он текст на Canvas"е PaintBox"а рисуне в ON_PAINT.
← →
homm © (2007-11-11 20:53) [14]> [13] homm © (11.11.07 20:52)
> рисуне в
рисует не в
начинаю задумываться о клавиатуре дороже 100р.
← →
Anatoly Podgoretsky © (2007-11-11 20:56) [15]> homm (11.11.2007 20:53:14) [14]
Гни ее
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.12.09;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.041 c