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

MoveTo, Pen.Color и LineTo слишком медленные, надо быстрее   Найти похожие ветки 

 
D_V_I   (2002-11-28 13:15) [0]

Пожалуйста помогите!! У меня очень большой цикл вывода на Image.Canvas лайнов и мовов, и каждый раз меняется Pen.Color - это занимает дикое количество времени(7 секунд, а то и 20), может можно как-то через память(поточечно, побыстрее)? Подскажите как? Заранее благодарен.


 
Starkom ©   (2002-11-28 13:18) [1]

может прямо Canvas.Pixels[x,y].color:=нужный. Хотя, по идее, это еще медленее работать должно. Я как-то таким образом треугольник заливал в 1-х дельфях, работало жутко медленно.


 
Игорь Шевченко ©   (2002-11-28 13:39) [2]

Можно а) через Bitmap в памяти и последующим BitBlt
б) через DC Pen


 
D_V_I   (2002-11-28 13:41) [3]

Будте добры, поисните работу с BitBlt


 
Слесарь Матерящийся   (2002-11-28 13:43) [4]

>Pen.Color

А что мешает готовить пёрышки и кисти заранее?


 
d_v_i   (2002-11-28 13:51) [5]

на каждом шаге цикла надо менять Pen.Color - дико медленно


 
HanIP   (2002-11-28 13:52) [6]

рисуй через WinApi очень быстро получается


 
Игорь Шевченко ©   (2002-11-28 13:52) [7]

Пример в controls.pas

procedure TWinControl.WMPaint(var Message: TWMPaint);


 
Бурундук   (2002-11-28 14:33) [8]

Сначала всё-таки последуй совету тов. Слесаря Матерящегося (28.11.02 13:43)
и создай все нужные перья заранее.
(Pen.Assign работает гораздо быстрее, чем изменение св-в пера):

const
penRed = 0;
...

for i := 0 to
PreviouslyCreatedPens[i] := TPen.Create;

PreviouslyCreatedPens[penRed].Color := clRed;
...

А при рисовании не Pen.Color := clRed, а
Pen.Assign(PreviouslyCreatedPens[penRed]);

Может оказаться, что этого будет вполне достаточно.



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

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



Память: 0.46 MB
Время: 0.012 c
1-27935
Валера из Омска
2002-11-29 07:36
2002.12.09
Работа с Dll


8-28155
F8nikita
2002-08-12 01:01
2002.12.09
ПОМОГИТЕ !!!!


1-28029
Versus31
2002-11-22 12:17
2002.12.09
Как проще всего определить когда мышь входит и выходит с TImage?


14-28203
Ketmar
2002-11-16 20:26
2002.12.09
грустно мне. домой пойду.


14-28235
Вадим
2002-11-17 15:12
2002.12.09
Чертовы соседи! Как с ними лучше бороться?




   Наверх