Exemple #1
0
        public static BitmapSource DrawScore(BitmapSource baseImage, Face[] faces)
        {
            double acumulador = 0;

            if (faces == null)
            {
                return(baseImage);
            }

            Action <DrawingContext, double> drawAction = (drawingContext, annotationScale) =>
            {
                if (faces != null)
                {
                    for (int i = 0; i < faces.Length; i++)
                    {
                        var emotionDominat = Aggregation.GetDominantEmotion(faces[i].FaceAttributes.Emotion);
                        if (emotionDominat.Item1 == "Happiness")
                        {
                            acumulador += faces[i].FaceAttributes.Emotion.Happiness;
                        }
                    }
                    FormattedText ft = new FormattedText(acumulador.ToString(),
                                                         CultureInfo.CurrentCulture, FlowDirection.LeftToRight, s_typeface,
                                                         50, Brushes.Black);

                    var origin = new System.Windows.Point(10, 10);
                    //var rect = ft.BuildHighlightGeometry(origin).GetRenderBounds(null);
                    //rect.Width = 50;
                    //rect.Height = 50;


                    //rect.Inflate(1, 1);

                    //drawingContext.DrawRectangle(s_lineBrush, null, rect);
                    drawingContext.DrawText(ft, origin);
                }
            };

            return(DrawOverlay(baseImage, drawAction));
        }