2011-03-21 2 views
3

성능상의 이유로 C# 응용 프로그램을 GDI +에서 Direct2D (C++/CLI 래퍼)로 이동하려고합니다. 그러나 나는 피킹 부분을 해결하는 방법을 모른다. 나는 움직일 수있는 모양과 이미지를 가지고 있습니다. 현재 나는 GraphicsPath를 사용하고 있습니다. 대부분의 경우에는 사용할 수 있습니다. Direct2D에서 무엇이 동등한 지 알고 있습니까? 당신을 위해 작동 할 수 ID2D1Geometry을 구현하는 형태의Direct2D에서 selection/picking이 어떻게 작동할까요?

+1

"피킹"이란 "히트 테스트"를 의미합니까? – Justin

+0

예, 그런 것입니다. Direct2D에 적용 할 수있는 것이 무엇인지 모르겠습니다. GDI +에서는 일반적으로 Rectangle.Contains 또는 GraphicsPath.IsVisible을 사용합니다. – t3chb0t

답변

2

FillContainsPoint 또는 StrokeContainsPoint 방법 :

  • FillContainsPoint는 - 형상으로 채워진 영역이 지정된 점을 포함되는지 여부를 나타냅니다.
  • StrokeContainsPoint - 지오메트리의 선이 지정된 점을 포함하는지 여부를 결정합니다.

나는 이것을 Geometries Overview on MSDN에서 찾았습니다.

+0

(필자는 Direct2D를 한번도 사용해 본적이 없습니다. 그러나 이것들이 유망 해 보인 첫 번째 것들이었습니다) – Justin

+0

이것입니다! 노력해 주셔서 감사합니다. 나는 몇 시간 동안 MSDN을 읽고 코드를 시작할 수 있었지만 ID2D1Geometry 인터페이스를 발견하지 못했습니다. "direct2d 히트 테스트"만 검색했다면 발견했을 것입니다. P는 심지어 첫 번째 결과입니다. 항상 선택과 선택을 찾고 있었고 쓸모없는 결과를 얻지 못했습니다. – t3chb0t