示例#1
0
 void UpdatePositions()
 {
     if (IsVisible && Pairing != null && FpTemplate != null)
     {
         var minutiae = from index in Enumerable.Range(0, Pairing.Count)
                        let pair = Pairing.GetPair(index)
                                   select MatchSide == MatchSide.Probe ? pair.Pair.Probe : pair.Pair.Candidate;
         var dpiScaling = FpTemplate.OriginalDpi / 500.0;
         var points     = from minutia in minutiae
                          where minutia < FpTemplate.Minutiae.Count
                          let position = FpTemplate.Minutiae[minutia].Position
                                         select new Point()
         {
             X = dpiScaling * position.X - 5,
             Y = FpTemplate.OriginalHeight - 1 - dpiScaling * position.Y - 5
         };
         SetValue(PositionsProperty, points.ToList());
     }
     else
     {
         SetValue(PositionsProperty, null);
     }
 }