簡體   English   中英

將XAML形狀繪制到DrawingContext嗎?

[英]Draw XAML shapes to DrawingContext?

我有一些由WPF形狀基元組成的常見符號(例如Rectangle,Line,Path等)。 這些符號當前作為用戶控件存儲在xaml文件中。 例如:

<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>

上面是一個簡單的示例,但是我的大多數符號更加復雜,由許多不同的部分組成。 因此,我希望使用這些用戶控件來存儲符號並使它們易於操作。

我在Canvas的OnRender方法中做了很多繪圖,並希望在我的繪圖中包含一些這些復合符號。 是否可以將它們轉換為格式以將其繪制到DrawingContext? 我知道有一個名為DrawingContext.DrawImage的方法,但這需要使用ImageSource作為輸入。

任何想法將不勝感激。

謝謝,艾倫

如果將畫布變成圖像源,則可以使用drawimage:

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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM