gpt4 book ai didi

c# - 将 XAML 形状绘制到 DrawingContext?

转载 作者:行者123 更新时间:2023-11-30 21:17:28 24 4
gpt4 key购买 nike

我有几个由 WPF 形状基元组成的常用符号(例如矩形、直线、路径等)。这些符号当前作为用户控件存储在 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 作为输入。

任何想法将不胜感激。

谢谢,艾伦

最佳答案

如果您将 Canvas 制作成图像源,则可以使用 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);

关于c# - 将 XAML 形状绘制到 DrawingContext?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4759414/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com