Windows手机-绘制图形
本文关键字:图形 绘制 手机 Windows | 更新日期: 2023-09-27 18:09:20
我似乎无法弄清楚如何在c#中绘制Windows手机应用程序中的图形。例如,我想画一条线。在旧式的Windows窗体中,我为Windows paint事件添加了一个事件处理程序。然后使用GDI+图形对象。但是在任何控制中都没有油漆事件吗?
那么我如何在画布上画一条线在Windows手机应用程序?
我想我需要澄清一下。我想创建动态图形,我想使用c#。我想要一个30 fps左右的更新频率,我只需要一些图形元素,大约100。
如果需要一行,使用Line
类:
<Page xmlns="whatever">
<Grid>
<Line X1="0" Y1="0" X2="10" Y2="10" Stroke="Blue" StrokeThickness="2"/>
</Grid>
</Page>
除此之外,请参考MSDN。
忘记你可能从古老的技术中学到的任何过程范式。现代技术是声明式的。
首先将Canvas添加到表单中,然后将. add()图形对象添加到Canvas子对象中—它使对象由引擎为您缩放,这有点整洁。通常看起来像这样:
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来获得更好的性能。
如果你想使用DirectX来绘制2D或3D,你可以看看SharpDX
在Github中有一些Windows Phone的示例,如:- miniccube:在DrawingSurfaceBackgroundGrid中显示旋转立方体