我似乎无法弄清楚如何在C#中的Windows手机应用程序中绘制图形。 我想画画,例如一条线。在旧学校Windows窗体中,我向Windows绘制事件添加了一个事件处理程序。然后使用GDI + Graphics对象。但是在任何控件中都没有绘制事件?
那么如何在Windows手机应用程序的画布上画一条线?
我想我需要澄清一下。 我想创建动态图形,我想使用C#。 我想要一个30 fps的更新频率,我只需要几个图形元素大约100个。
答案 0 :(得分:0)
首先将Canvas添加到窗体中,然后将.Add()图形对象添加到画布子窗口 - 它使得引擎为您缩放对象,这有点整洁。通常看起来像这样:
line = new **Line**();
line.Stroke = Brushes.Yellow;
line.X1 = 0;
line.Y1 = 0;
line.X2 = 100;
line.Y2 = 100;
line.StrokeThickness = 2;
yourCanvas.Children.**Add(line)**;
从代码中删除** - 它们是为了吸引注意力。
实际上,当我绘制动态超立方体时,我从未使用过XAML版本,但是如果你需要一个静态结构甚至子结构,XAML就是你要走的路。据我所知,Children.Add()在解析的XAML树中动态创建节点,.NET保留在内存中。如果你不能对WPF强加的动态定位图形产生轻微的性能影响,你将不得不坚持使用DirectX或OpenGL以获得更好的性能。
答案 1 :(得分:0)
如果您需要一行,请使用Line
class:
<Page xmlns="whatever">
<Grid>
<Line X1="0" Y1="0" X2="10" Y2="10" Stroke="Blue" StrokeThickness="2"/>
</Grid>
</Page>
除此之外,请参阅MSDN。
忘记你在古老技术中可能学到的任何程序范式。现代技术是陈述性的。
答案 2 :(得分:0)
如果您想要使用DirectX进行2D或3D的低级访问,可以查看SharpDX
Github中有一些samples for Windows Phone,如: