![]() |
|
Модераторы: gambit, Kefir, Partizan |
![]()
|
|
| Anyone |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 218 Регистрация: 1.6.2008 Репутация: нет Всего: нет |
В моем графическом редакторе объекты канваса имеют выводы в виде линий, через которые они соединяются линиями связей. Но проблема в том, что при опрежеленных положениях объекта, линии связи имеют не четкие границы, иногда толщина больше чем заданных 2 пикселя и в местах соедиений выводов с линиями зачастую просматривается разница в толщине. Везде где только можно я выставил SnapsToDevicePixels="True".
Линии связи биндятся к центру коннектора вывода, и если это значение округливать до целого, то проблема не решается. Выводы находятся в ячейках грида с выравниванием по центру по вертикали. Линия связи имеет такой шаблон:
Как можно решить проблему? Это сообщение отредактировал(а) Anyone - 18.10.2009, 12:44 |
|||
|
||||
| rooks |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 90 Регистрация: 28.9.2008 Где: Минск Репутация: 5 Всего: 9 |
Скриншот бы не помешал
|
|||
|
||||
| Anyone |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 218 Регистрация: 1.6.2008 Репутация: нет Всего: нет |
Скриншет сделан при увеличении масштаба, при масштабе 100% еще терпимо.
Красным показаны проблемные участки. Присоединённый файл ( Кол-во скачиваний: 16 )
Screen.PNG 9,10 Kb |
|||
|
||||
| math64 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 2 Всего: 72 |
По-видимому неправильно вычисляются координаты промежуточных точек. Запиши PathGeometry в файл (можно с помощью XamlWriter сохранить ConnectionPath) и проверь.
|
|||
|
||||
| Anyone |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 218 Регистрация: 1.6.2008 Репутация: нет Всего: нет |
||||
|
||||
| rooks |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 90 Регистрация: 28.9.2008 Где: Минск Репутация: 5 Всего: 9 |
Это все хваленые пикcели типа double. Не уверен что можно окончательно победить, но можно попробовать поиграться с RenderOptions.EdgeMode. Или попытаться округлять координаты в Path, где это можно.
|
|||
|
||||
| Anyone |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 218 Регистрация: 1.6.2008 Репутация: нет Всего: нет |
rooks,
Выставил RenderOptions.EdgeMode="Aliased" для выводов и линии связи. Стало значительно лучше, границы четкие. Но при определенных значениях масштаба линия иногда не совсем совпадает с выводом, ну тут уже врядли что-то поделаешь, это погрешности вычисления координат. Спасибо за ответ. |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | WPF и Silverlight | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |