![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как быстро нарисовать пунктирную линию на 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