Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > 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}, но с возможным обрезанием отрицательных координат, при невозможности отрисовать тонкие линии они будут толще. Концы линии можно сделать закругленными.

Автор: fantast 12.10.2009, 13:08
Цитата(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
Цитата(math64 @  12.10.2009,  13:19 Найти цитируемый пост)
Если линия будет нарисована на канве, а сама канва расположена так, что на ней можно рисовать в отрицательных координатах - получишь то что хотел.

Рисуется на канве, притом рисуется так как я говорил 
Цитата

{0,0} - {10, 0} - {10, 1} - {0, 1};

я рисую рядом круг с центром в {0,0} и сдвиг линии очень хорошо просматривается. В канвасе есть множество линий расположенных под разным углом и в разных местах, так что обрезание отрицательных координат тут не при чем.

Автор: math64 12.10.2009, 15:44
А что будет если применить ScaleTransform? На экране линию нельзя поднять на полпикселя, при выводе на экран координаты округляются.

Автор: fantast 12.10.2009, 17:43
Цитата(math64 @  12.10.2009,  15:44 Найти цитируемый пост)
А что будет если применить ScaleTransform? На экране линию нельзя поднять на полпикселя, при выводе на экран координаты округляются. 

Разумно, но я масштабирую и поэтому это просматривается

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)