示例#1
0
        private async Task UpdateResultsAsync(ImageAnalyzer img)
        {
            try
            {
                DetectedFaceCollection.Clear();

                if (img.DetectedFaces.Any())
                {
                    // extract crops from the image
                    IList <DetectedFaceViewModel> detectedFaceViewModels = GetDetectedFaceViewModels(img.DetectedFaces, img.IdentifiedPersons);
                    var stream = img.ImageUrl == null ? await img.GetImageStreamCallback() : new MemoryStream(await new HttpClient().GetByteArrayAsync(img.ImageUrl));

                    using (stream)
                    {
                        var faces = await Util.GetImageCrops(detectedFaceViewModels, i => i.FaceRectangle.ToRect(), stream.AsRandomAccessStream());

                        if (faces != null)
                        {
                            DetectedFaceCollection.AddRange(faces);
                        }
                    }
                }

                CurrentDetectedFace          = DetectedFaceCollection.FirstOrDefault();
                this.notFoundGrid.Visibility = DetectedFaceCollection.Any() ? Visibility.Collapsed : Visibility.Visible;
            }
            finally
            {
                this.progressRing.IsActive = false;
            }
        }
示例#2
0
 private void DisplayProcessingUI()
 {
     CurrentDetectedFace = null;
     DetectedFaceCollection.Clear();
     this.progressRing.IsActive = true;
 }