![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Мигает TImage? Что делать?
super_alex © (2003-05-26 13:42:00)
У меня рисуется прямоугольник на TImage. Рисуется он линиями - слева направо, снизу вверх (попиксельно). После каждой линии делаю Update. Это необходимо, так мне надо рисовать в реальном времени, а иначе получается что всё отобразиться только после того как получится весь прямоугольник.
Мне советовали использовать TPainBox, а чем он лучше?
Я уже писал в Основную тему, но потом увидел эту тему и понял, что сначала ошибся
Плохой человек (2003-05-29 13:11:00) [1]
Я полагаю, что не решена. TImage.Update - тормозная весчь, особенно после каждой линии прямоугольника. TPaintBox или TImage - особой разницы нет по той причине, что для рисования используется их канва.
Вообще, я бы задачу решал не так. Похоже что у тебя это дело рисуется в цикле и каждый раз надо обновлять это дело. Я бы подвесил прорисовку в таймер раз тееб нужна именна последовательная прорисовка. Попробуй ещё использовать не Update, а Repaint. И ещё. Если изображение непрозрачное то поставь вот так:
Image1.ControlStyle := Image1.ControlStyle + [csOpaque];
Это должно помочь.
Intell (2003-05-29 10:29:00) [2]
Дык... Проблема решена или нет?
Intell (2003-05-26 17:41:00) [3]
если рисунок на TPanel, то пиши так:
procedure TForm1.FormCreate(Sender: TObject);
begin
Form1.panel1.DoubleBuffered:=True;
end;
На чём рисунок, там и пиши.
super_alex (2003-05-26 14:11:00) [4]
Form1.DoubleBuffered:=True;
Это где добавлять?
Если при Create формы, то пробовал - не помогает!!!
Intell (2003-05-26 14:08:00) [5]
Попробуй
Form1.DoubleBuffered:=True;