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

Вниз

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 вся ветка

Форум: "Основная";
Текущий архив: 2002.12.09;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.015 c
6-28169
DemOk
2002-10-14 11:38
2002.12.09
НЭТВОТЧ !


1-27959
Ushakov Denis
2002-11-28 21:28
2002.12.09
Моитор высокого разрешения и Делфи... проблема


3-27862
s_karm
2002-11-21 10:59
2002.12.09
сортировка


3-27891
BorisUK
2002-11-21 13:36
2002.12.09
MIDAS RemoteDataModule


1-27988
snake1977
2002-11-25 12:54
2002.12.09
Точек на символ





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