Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > WPF и Silverlight > Shapes.Line расположение относительно X1 Y1 |
Автор: fantast 12.10.2009, 11:38 |
Когда я создаю Line например с координатами {0, 0} - {10, 0} с шириной линии 1, то фактически получаю прямоугольник {0,0} - {10, 0} - {10, 1} - {0, 1}; Вопрос заключается в следующем: возможно ли настроить Line таким образом чтобы получился прямоугольник: {-0.5, -0.5} - {10.5, -0.5} - {10.5, 0.5} - {-0.5, 0.5} ? PS. Надеюсь вопрос понятен) |
Автор: math64 12.10.2009, 12:07 |
Получится прамоугольник {0, -0.5} - {10.5, -0.5} - {10, 0.5}, но с возможным обрезанием отрицательных координат, при невозможности отрисовать тонкие линии они будут толще. Концы линии можно сделать закругленными. |
Автор: math64 12.10.2009, 13:19 |
Если линия будет нарисована на канве, а сама канва расположена так, что на ней можно рисовать в отрицательных координатах - получишь то что хотел. Если линия расположена в гриде с выравнианием по верхней стороне ячейки, то будет учтена её толщина и она будет размещена внутри ячейки. Чтобы поднять её на половину толщины ячейки используй Margin="0,-0.5,0,0" |
Автор: fantast 12.10.2009, 13:44 | ||||
Рисуется на канве, притом рисуется так как я говорил
я рисую рядом круг с центром в {0,0} и сдвиг линии очень хорошо просматривается. В канвасе есть множество линий расположенных под разным углом и в разных местах, так что обрезание отрицательных координат тут не при чем. |
Автор: math64 12.10.2009, 15:44 |
А что будет если применить ScaleTransform? На экране линию нельзя поднять на полпикселя, при выводе на экран координаты округляются. |
Автор: fantast 12.10.2009, 17:43 | ||
Разумно, но я масштабирую и поэтому это просматривается |