Страница: 1 |
Страница: 1 |
Вопрос: Метод .Line... - толщина?
Добавлено: 04.10.06 22:21
Автор вопроса: -АлександР- | Web-сайт:
Привет всем!
Снова я... и снова Line :)
Как можно для линии приделать толщину, чтобы попроще было?
Я пытался несколько линий параллельно сделать рядышком, как будто - это одна толстая. Но получилось громоздкое решение, даже басик тормозит.
Может, кто-нибудь пытался когда-нибудь приделать толщину .Line? Или какие-нибудь идеи получше будут?
Заранее благодарен!
Ответы
Всего ответов: 15
Номер ответа: 1
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #1
Добавлено: 04.10.06 22:45
Сори, совсем забыл про контрол-линию за работой
Попробуй свойство DrawWidth увеличить, вроде оно как раз за ширину рисуемых деталей отвечает.
Номер ответа: 2
Автор ответа:
-АлександР-
Вопросов: 55
Ответов: 1008
Web-сайт:
Профиль | | #2
Добавлено: 04.10.06 23:01
Оп-ля... Снимаю шляпу и низко кланяюсь! Работает!
Стыдно, я о DrawWidth узнал однажды только потому, что объявил под этим именем переменную. даже не знал, зачем оно нужно.
Спасибо, Brand!
Кстати, если хочешь - договаривайся с админ., я дам тебе 100 рейтинга
Номер ответа: 3
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #3
Добавлено: 04.10.06 23:27
бгагагаа... падстолом
ps и за меня там договорись )))))
можно нарисовать пару или болье линий, сместив каждую на x(1,2)=x(1,2)-1 и с y аналогично...
Номер ответа: 4
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #4
Добавлено: 05.10.06 04:59
Гениально, особенно если линии идут по диагонали
Номер ответа: 5
Автор ответа:
astoro
ICQ: 649109
Вопросов: 31
Ответов: 391
Профиль | | #5
Добавлено: 05.10.06 06:57
Если линии вертикальные и горизонтальные можно еще прямоугольниками закрашенными рисовать
Номер ответа: 6
Автор ответа:
-АлександР-
Вопросов: 55
Ответов: 1008
Web-сайт:
Профиль | | #6
Добавлено: 05.10.06 20:25
Но это тоже не всё - если изображение масштабировать, то - нужно количество этих линий менять.. вобщем так неудобно, ах!..
Номер ответа: 7
Автор ответа:
-АлександР-
Вопросов: 55
Ответов: 1008
Web-сайт:
Профиль | | #7
Добавлено: 05.10.06 20:27
Эх...
Совет Brand'а оказался тоже не панацеей. Он ведь для всех линий в контейнере меняет толщину, а нужно, чтобы для каждой отдельно можно было этим управлять
Номер ответа: 8
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #8
Добавлено: 05.10.06 20:53
ну... а в чем пробелма?
Перед рисованием каждой линии ставь свойство DrawWidth.
Номер ответа: 9
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #9
Добавлено: 05.10.06 20:53
ну... а в чем пробелма?
Перед рисованием каждой линии ставь свойство DrawWidth.
Номер ответа: 10
Автор ответа:
-АлександР-
Вопросов: 55
Ответов: 1008
Web-сайт:
Профиль | | #10
Добавлено: 05.10.06 22:43
Да вобщем-то идея хорошая... Но у меня тут как говорится свои замуты: я поставил линию на timer вместо autoredraw (чтобы каждая нарисованная линия - имела свой таймер и через несколько долей секунды перерисовывалась.). И таким образом у меня получается, что каждая линия принимет ту толщину drawwidth, которую я ставлю ей в этот момент.
Номер ответа: 11
Автор ответа:
-АлександР-
Вопросов: 55
Ответов: 1008
Web-сайт:
Профиль | | #11
Добавлено: 05.10.06 22:46
Кстати, может кто-нибудь подскажет идею, как можно по другому заменить autoredraw? (не таймером)
Номер ответа: 12
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #12
Добавлено: 05.10.06 23:42
Смысл в том, что нужно рисовать не на контексте окна, а на контексте картинки, а саму картинку вставить на нужные тебе контрол.
Получается, ты рисуешь на картинке которая находится в памяти.
Я не уверен что это будет просто реализовать средствами GDI, но могу рассказать как это делается в .NET.
Номер ответа: 13
Автор ответа:
-АлександР-
Вопросов: 55
Ответов: 1008
Web-сайт:
Профиль | | #13
Добавлено: 05.10.06 23:59
Так что буду признателен
Номер ответа: 14
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #14
Добавлено: 06.10.06 02:13
Создаем Bitmap и связываем его с нашим контролом:
Далее связываем его с формой:
После этого можем создать Graphics ассоциированый с нашей картинкой и рисовать на нем что угодно:
Gr.DrawLine(Drawing.Pens.AliceBlue, 0, 0, 20, 30)
Вот в принципе и все.
Номер ответа: 15
Автор ответа:
-АлександР-
Вопросов: 55
Ответов: 1008
Web-сайт:
Профиль | | #15
Добавлено: 06.10.06 19:02
Спасибо, Brand! Для VBNet - классно, впрочем для vb6 я тоже сделал.
Благодарю всех за помощь!