Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как быстро нарисовать пунктирную линию на TCanvas? [D6, Win2k, WinXP]


Nikolai_S ©   (2003-01-22 19:00:00) 

Необходимо рисовать пунктирную линую (из точек) на TCanvas. Причем Canvas может принадлежать и объекту класса TBitmap, TMetafile, TPrinter и т.д. Как известно, если использовать свойство TCanvas.Pixels[x,y], то можно нарисовать то что нужно, но очень медленно. Использовать же метод TBitmap.ScanLine нельзя, так как не всенда рисуем на TBitmap. Canvas передается как параметр процедуре.


Nikolai_S   (2003-01-24 15:24:00) [1]

В LineDDA вроде нет ограничений на версию Windows. Нужен конкретный пример использования. И как задать цвет точек?


MBo   (2003-01-24 15:19:00) [2]

LineDDA


Nikolai_S   (2003-01-24 15:17:00) [3]

Программа должна работать под любым Windows 32, поэтому желательно использовать какие-нибудь стандартные функции для всех версий Windows....


MBo   (2003-01-24 12:59:00) [4]

Если предполагается использование только в NT/2k/XP то ExtCreatePen.
Еще есть LineDDA


Nikolai_S   (2003-01-24 12:38:00) [5]

Я это уже давно испробовал. Но, к сожалению, в таком случае не получается нужного результата. Рисуется очень быстро, но не точками. Несмотря на название стиля (psDot) рисует все-таки не точками, а короткими тире (дефисами). А мне необходимо рисовать пунктир именно точками (в 1 пиксел).


MBo   (2003-01-22 20:46:00) [6]

pen.style
canvas.lineto


Наверх

Титульная страница Поиск, карта сайта Написать письмо