Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.05.18;
Скачать: CL | DM;

Вниз

Как нарисовать линию точками   Найти похожие ветки 

 
incm   (2008-04-21 15:41) [0]

Нужно нарисовать линию состоящую из точек, размером в 1 пиксель.
Ни один из имеющихся  стилей объекта Pen не дает такого.
Есть стиль psUserStyle, но как им пользоваться похоже большей секрет! Гугль находит по слову psUserStyle лишь пару десятков ссылок и то все на "нечеловеческих" языках, типа китайского.


 
Сергей М. ©   (2008-04-21 15:47) [1]


> Ни один из имеющихся  стилей объекта Pen не дает такого


Стили объекта Canvas.Pen не отвечают за толщину карандаша, за это отвечает св-во Pen.Width

Цитата из справки:

Specifies the width of the pen in pixels.

Delphi syntax:

property Width: Integer;



Там же имеется пример.


 
Игорь Шевченко ©   (2008-04-21 15:53) [2]

тебе надо как у рамки фокуса ?


 
Anatoly Podgoretsky ©   (2008-04-21 16:03) [3]

> incm  (21.04.2008 15:41:00)  [0]

LineDDA позволяет осуществить все фантазии.


 
incm   (2008-04-21 18:33) [4]


> Стили объекта Canvas.Pen не отвечают за толщину карандаша,
>  за это отвечает св-во Pen.Width


Мне не толщину надо менять, а стить линии!
Что бы линия рисовалась точками, т.е. один пиксель закрашен, следующий нет и так далее.


 
{RASkov} ©   (2008-04-21 18:48) [5]

> [4] incm   (21.04.08 18:33)

Тебе линии "ровные" нужны или "под углом"?
В прочем в любом случае [3] тебе поможет...
Просто для ровных линий Callback простой:
procedure DDAProc (X, Y: Integer; Cnv: TCanvas); stdcall;
begin
 if ODD(X) or ODD(Y) then Cnv.Pixels[X,Y]:=clBlack;
end;
Для "угловатых" уже не пойдет....


 
Anatoly Podgoretsky ©   (2008-04-21 19:40) [6]

Зачем что то мудрить, хватит и логической переменной, и будет работать для любых линий, на то он и DDA


 
AIK ©   (2008-04-21 21:09) [7]


> Мне не толщину надо менять, а стить линии!
> Что бы линия рисовалась точками, т.е. один пиксель закрашен,
>  следующий нет и так далее.


По-моему эт пунктир называется


 
Германн ©   (2008-04-22 01:23) [8]


> AIK ©   (21.04.08 21:09) [7]
>
>

По-моему тоже. Но автор ушёл в спячку.


 
incm   (2008-04-22 12:06) [9]


> По-моему эт пунктир называется


Пунктир это  psDot. Но не то, что мне нужно. psDot - рисует линию черточками.
Вариант который предлжил {RASkov} именно то.


 
{RASkov} ©   (2008-04-22 13:10) [10]

> [9] incm   (22.04.08 12:06)

Это не я предложил, а Анатолий [3]. Из-за [4] я решил напомнить про [3] и делов :)


 
Anatoly Podgoretsky ©   (2008-04-22 13:40) [11]

А какие претензии, специальная функция, работающая по алгоритму Брезенхама.


 
DVM ©   (2008-04-22 13:51) [12]

http://www.delphikingdom.com/asp/viewitem.asp?catalogid=94



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

Текущий архив: 2008.05.18;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.025 c
15-1207461552
@!!ex
2008-04-06 09:59
2008.05.18
IDE для FPC с нормальным дебагером


2-1208935136
Arinyshka
2008-04-23 11:18
2008.05.18
Динамически созданный Image


15-1207246196
oldman
2008-04-03 22:09
2008.05.18
А "день радио" профессиональный праздник?


2-1208280971
random(1024)
2008-04-15 21:36
2008.05.18
Ошибка во время выполнения потока...


8-1179992364
namco
2007-05-24 11:39
2008.05.18
Video in Delphi