Example #1
0
        public void RenderBitmaps()
        {
            var visual = new DrawingVisual();

            using (var c = visual.RenderOpen())
            {
                c.PushClip(new RectangleGeometry(_rect));
                c.DrawRectangle(new SolidColorBrush(Color.FromArgb(0, 0, 0, 0)), null, _rect);

                if (MouseModel != null)
                {
                    MouseModel.CloseDrawingContext();
                    c.DrawRectangle(new VisualBrush(MouseModel), new Pen(), MouseModel.RelativeRect);
                }
                if (HeadsetModel != null)
                {
                    HeadsetModel.CloseDrawingContext();
                    c.DrawRectangle(new VisualBrush(HeadsetModel), new Pen(), HeadsetModel.RelativeRect);
                }
                if (GenericModel != null)
                {
                    GenericModel.CloseDrawingContext();
                    c.DrawRectangle(new VisualBrush(GenericModel), new Pen(), GenericModel.RelativeRect);
                }
                if (MousematModel != null)
                {
                    MousematModel.CloseDrawingContext();
                    c.DrawRectangle(new VisualBrush(MousematModel), new Pen(), MousematModel.RelativeRect);
                }
                KeyboardModel.CloseDrawingContext();
                c.DrawRectangle(new VisualBrush(KeyboardModel), new Pen(), KeyboardModel.RelativeRect);

                c.Pop();
            }

            var frameBitmap = ImageUtilities.DrawingVisualToBitmap(visual, _rect);

            if (MouseModel != null)
            {
                MouseBitmap = MouseModel.GetBitmapFromFrame(frameBitmap);
            }
            if (HeadsetModel != null)
            {
                HeadsetBitmap = HeadsetModel.GetBitmapFromFrame(frameBitmap);
            }
            if (GenericModel != null)
            {
                GenericBitmap = GenericModel.GetBitmapFromFrame(frameBitmap);
            }
            if (MousematModel != null)
            {
                MousematBitmap = MousematModel.GetBitmapFromFrame(frameBitmap);
            }
            KeyboardBitmap = KeyboardModel.GetBitmapFromFrame(frameBitmap);
        }