Главная страница
    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.46 MB
Время: 0.009 c
1-28069
laser
2002-11-27 18:57
2002.12.09
Анализ предложения


3-27866
Kurt
2002-11-20 12:00
2002.12.09
Не подчкажите как организовать просмотр записей таблицы


3-27877
Oleon
2002-11-20 10:53
2002.12.09
Шаблоны платежных документов


1-28088
antoniz
2002-11-28 10:04
2002.12.09
Подскажите по QuickReport


3-27867
kostik78ua
2002-11-21 10:29
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский