2011-02-13 8 views
0

이미지의 내용을 테스트하고 싶습니다. 그렇게하기 위해서 나는 BitmapImage을 만들고 그것을 DrawingVisualDrawingContext.DrawImage() 방법으로 그려 넣습니다. 테스트 한 결과 VisualTreeHelper.HitTest()을 사용하면 이미지의 모든 점이 true를 반환하지만 흰색 픽셀이 false 및 흰색이 아닌 픽셀을 반환하여 true를 반환하도록하려고합니다. 그래서 BitmapImageFormatConvertedBitmap을 사용하여 흑백 픽셀 형식으로 변환했지만 작동하지 않았습니다. 어떤 제안? ImageDrawing 개체에 대한 테스트를 치면 더 좋을 것입니다.히트 테스트 이미지 내용

답변

0

두 가지 제안 :

  1. 투명 픽셀, 흰색하지를 사용해보십시오는
  2. 당신은 hit testing logic 자신을 구현해야 할 수도 있습니다. Visual의 경우 HitTestCore를 재정의 (override)해야합니다.
+0

투명 픽셀이 작동하지 않습니다. VisualTreeHelper.GetDrawing (this)을 사용하여 ImageDrawing을 가져 와서 DrawingVisual에서 사용자 지정 히트 테스트를 시도했습니다. ImageDrawing 개체를 얻을 수 있지만 그것을 사용하여 테스트를 수행 할 수있는 방법을 찾을 수 없습니다. Drawing 대신 Geometry에서 파생 된 경우 FillContains (point) 메서드를 사용할 수 있지만 그렇지 않습니다. –

관련 문제