【发布时间】:2013-07-18 09:02:47
【问题描述】:
我有代码:
<Canvas>
<Image Canvas.Left="0" Canvas.Top="0">
<Image.Source>
<DrawingImage>
<DrawingImage.Drawing>
<GeometryDrawing>
<GeometryDrawing.Pen>
<Pen Brush="Black" Thickness="1" />
</GeometryDrawing.Pen>
<GeometryDrawing.Geometry>
<LineGeometry StartPoint="50,50" EndPoint="100,50">
</LineGeometry>
</GeometryDrawing.Geometry>
</GeometryDrawing>
</DrawingImage.Drawing>
</DrawingImage>
</Image.Source>
</Image>
</Canvas>
我希望它可以是从 50,50 到 100,50 开始的一条线,但最后它是从 0,0 到 50,0 开始的
我似乎在GeometryDrawing 中的StartPoint 没有意义?
有谁知道解决方案?我不想修改Canvas.Left 和Canvas.Top。
【问题讨论】:
-
你为什么使用 DrawingImage 而不是形状?绘制
Line控件会简单得多。 -
@Clemens 好吧,这只是一个抽象代码,我知道形状要简单得多,但我需要通过实时控制在屏幕上绘制数百万条线,这是 CAD 软件的,形状很慢。
-
那你应该看看如何在可视层中绘制。开始阅读WPF Graphics Rendering Overview 和Using DrawingVisual Objects。
-
谢谢您的解决方案看起来很有趣,但我希望从这里直接获得帮助...
标签: wpf xaml drawing geometrydrawing