I have several common symbols that have been compos开发者_StackOverflow社区ed of WPF shape primatives (e.g. Rectangle, Line, Path etc). These symbols are currently stored in xaml files as user controls. For example:
<Canvas x:Name="Symbol" Width="100" Height="100">
<Rectangle x:Name="Rectangle" Width="100" Height="100" Stretch="Fill">
<Rectangle.Fill>
<SolidColorBrush Color="Aqua"></SolidColorBrush>
</Rectangle.Fill>
</Rectangle>
</Canvas>
The above is a simple example but most of my symbols are more complex and composed of many different parts. So, I was hoping to use these user controls to store the symbols and make them easy to manipulate.
I am doing quite a bit of drawing in the OnRender method of a Canvas and would like to include some of these composite symbols in my drawing. Is it possible get these into a format to draw them to the DrawingContext? I am aware that there is a method called DrawingContext.DrawImage but this takes an ImageSource as input.
Any ideas would be much appreciated.
Thanks, Alan
You can use drawimage if you make your canvas into an imagesource like:
VisualBrush vb = new VisualBrush(canvas);
GeometryDrawing gd = new GeometryDrawing(vb, new Pen(Brushes.Transparent, 0), new RectangleGeometry(new Rect(0, 0, width, height)));
img = new DrawingImage(gd);
精彩评论