2011-02-13 2 views
0

Je veux tester le contenu d'une image. Pour ce faire, j'ai créé BitmapImage et le dessiner à l'intérieur DrawingVisual en utilisant la méthode DrawingContext.DrawImage(). Quand il est testé, en utilisant VisualTreeHelper.HitTest(), chaque point de l'image retourne vrai mais je veux que les pixels blancs retournent les pixels faux et non-blancs pour retourner vrai. Donc, j'ai converti BitmapImage au format pixel noir et blanc en utilisant FormatConvertedBitmap mais cela n'a pas fonctionné aussi. Aucune suggestion? Ce serait mieux si je peux frapper le test contre l'objet ImageDrawing.Hit Test Image Content

Répondre

0

Deux suggestions:

  1. Essayez d'utiliser des pixels transparents, non blanc
  2. Vous devrez peut-implémenter votre propre hit testing logic. Pour un Visual, cela signifie qu'il faut ignorer HitTestCore.
+0

Les pixels transparents ne fonctionnent pas. J'ai essayé de faire des tests de hit personnalisés dans DrawingVisual en obtenant le ImageDrawing en utilisant VisualTreeHelper.GetDrawing (this). Je reçois l'objet ImageDrawing mais je ne trouve pas de moyen de faire des tests avec celui-ci. Si elle était dérivée de Géométrie au lieu de Dessin, je pourrais utiliser la méthode FillContains (point) mais ce n'est pas le cas. –