コード例 #1
0
 private static Drawing SimplifyDrawing(Drawing drawing, string projectPath)
 {
     if (drawing != null)
     {
         if (drawing.IsFrozen)
         {
             drawing = drawing.Clone();
         }
         DrawingGroup drawingGroup;
         if ((drawingGroup = drawing as DrawingGroup) != null)
         {
             drawing = MakeDrawingBrushCommand.SimplifyDrawingGroup(drawingGroup, projectPath);
         }
         else
         {
             GeometryDrawing geometryDrawing;
             if ((geometryDrawing = drawing as GeometryDrawing) != null)
             {
                 drawing = MakeDrawingBrushCommand.SimplifyGeometryDrawing(geometryDrawing);
             }
             else
             {
                 GlyphRunDrawing glyphRunDrawing;
                 if ((glyphRunDrawing = drawing as GlyphRunDrawing) != null)
                 {
                     drawing = MakeDrawingBrushCommand.SimplifyGlyphRunDrawing(glyphRunDrawing);
                 }
                 else
                 {
                     ImageDrawing imageDrawing;
                     if ((imageDrawing = drawing as ImageDrawing) != null)
                     {
                         drawing = MakeDrawingBrushCommand.SimplifyImageDrawing(imageDrawing, projectPath);
                     }
                     else
                     {
                         VideoDrawing videoDrawing;
                         if ((videoDrawing = drawing as VideoDrawing) != null)
                         {
                             drawing = MakeDrawingBrushCommand.SimplifyVideoDrawing(videoDrawing);
                         }
                     }
                 }
             }
         }
     }
     return(drawing);
 }
コード例 #2
0
        private void AddImageDrawing(ConvertibleDrawing.DrawingStackEntry entry)
        {
            ImageDrawing imageDrawing = entry.Drawing as ImageDrawing;

            if (this.projectPath != null)
            {
                imageDrawing = (ImageDrawing)MakeDrawingBrushCommand.SimplifyImageDrawing(imageDrawing, this.projectPath);
            }
            Image image = new Image();

            ConvertibleDrawing.SetValueIfNotDefault(FrameworkElement.HeightProperty, (DependencyObject)image, (object)imageDrawing.Bounds.Height);
            ConvertibleDrawing.SetValueIfNotDefault(FrameworkElement.WidthProperty, (DependencyObject)image, (object)imageDrawing.Bounds.Width);
            ConvertibleDrawing.SetValueIfNotDefault(Image.SourceProperty, (DependencyObject)image, (object)imageDrawing.ImageSource);
            ConvertibleDrawing.SetPositionInCanvas((UIElement)image, entry.Offset);
            if (entry.Transform != Transform.Identity)
            {
                ConvertibleDrawing.SetValueIfNotDefault(UIElement.RenderTransformProperty, (DependencyObject)image, (object)entry.Transform);
            }
            entry.Canvas.Children.Add((UIElement)image);
        }