2012-05-15 5 views
5

보통 스트로크 두께가 1 인 Path입니다. 특정 상황에서는 스트로크 두께가 10이어야합니다. 스트로크 두께를 늘리면 경로가 필요하지 않습니다. 추가 공간을 확보하십시오.스트로크 두께를 늘리지 만 경로의 치수를 유지하십시오.

기본적으로 StrokeThickness를 높이면 렌더링 된 크기가 커집니다. 이 (파란색 윤곽이 검은 색 경계를 넘어 확장) 같은 당신이 뭔가를 얻을 :

Stroke expands beyond original boundary of path

이 내가 달성하기 위해 노력하고있어입니다 (파란색 테두리는 검은 색 경계 내에서 유지) :

수동 adjus

  1. : 는

    내가 증가 StrokeWidth와 보상하기 위해 두 가지 수학적 방법의 Stroke is entirely inside original boundary of path

    을 생각할 수 삼각형의 안쪽 점.
  2. 경로의 지오메트리에 ScaleTransform을 사용합니다.

두 가지 모두 다소 문제가 있거나 복잡 할 수 있습니다. 더 쉬운 방법이 있습니까?

<Path ... Clip="{Binding Data, RelativeSource={RelativeSource Self}}"/> 

을하지만 스트로크의 절반 만이 볼 수 있기 때문에 당신은 StrokeThickness을 두 배로해야합니다 :

답변

18

이 같은 자신의 형상을하여 경로를 클립 수 있습니다. 충동에

+2

+1 매우 영리합니다. – devuxer

+0

클레멘스에게 감사의 말을 전합니다. 외부 스트로크 만 유지하려면 자체 형상을 배제하는 방법이 있습니까? – superware

+0

https://stackoverflow.com/questions/48563157/clip-inverted-own-geometry – superware

0

나는 나의 사각형에 StrokeThickness = -1를 설정하고이에 내가 원하는 정확히 한 : 스트로크가 사각형의보다는 외부에 내부 에 간다.

+2

OP의 특정 사례를 해결하려면 -1과 -10 사이에서 변경해야합니다. –

관련 문제