Главная страница
    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.47 MB
Время: 0.066 c
15-1207246196
oldman
2008-04-03 22:09
2008.05.18
А "день радио" профессиональный праздник?


2-1208284170
smartleds
2008-04-15 22:29
2008.05.18
Подскажите как удалить массив TrackBar-ов


2-1208719740
worldmen
2008-04-20 23:29
2008.05.18
Загрузить с ini файла в переменную имена всех ключей


2-1208428138
arinyshka
2008-04-17 14:28
2008.05.18
Забдокировать изменение RadioGroup


11-1189391943
Grademax
2007-09-10 06:39
2008.05.18
Обработка клавиш Up, Down в ListEdit е





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