대화식 WPF 그래프/트리 도구로 작업하고 있으며 노드와 캔버스를 캔버스에 배치했습니다. 노드는 사용자 정의 컨트롤이며 링크는 단순히 선 모양이며 링크는 현재 노드의 중심에서 다른 노드의 중심으로 이동합니다.캔버스의 WPF 요소 자르기
노드가 약간 투명하게 보이고 노드 뒤에 링크가 보이기를 원할 때 문제가 발생합니다. 가장 편리한 솔루션은 선에 클리핑 또는 불투명 마스크를 적용하는 것이므로 노드 뒤에 그려지지 않으므로 어떻게 될지 생각할 수 없습니다.
기본적으로 노드의 경계 상자 지오메트리를 알아내어 선의 자르기 지오메트리로 사용할 수 없습니다. 물론 대체 솔루션에도 관심이 있습니다!
네의 경계를 찾는 것에 대해 번거 로움 할 필요가 없습니다, 그 생각하지만 난 그 방법 좋아하지 않는 두 가지 이유가있다. 1) 캔버스에서 패닝 및 확대/축소를 사용 중이고 노드 크기는 내용 및 노드 별 크기 변환에 따라 다릅니다. 캔버스 좌표에서 노드의 정확한 크기를 알아 내기 란 어렵습니다. 나는 그것이 가능하다는 것을 안다, 나는 단지 고투하고있다. 2) 노드의 정확한 범위를 알았더라도 선과 노드 가장자리가 수직이 아닌 경우 경계에 조인 할 두꺼운 선을 그릴 경우 아티팩트가 생성됩니다. 대신 노드 지오메트리로 선을 자르면 완벽하게 결합됩니다. – angularsen
충분히 공정하면 경계 상자를 가져 오는 방법을 알려줄 수 있습니다. 나는 나의 대답을 업데이트 할 것이다. –
고마워, 그게 내가 찾고 있던 바로 그거야! – angularsen