Windows手机-绘制图形

本文关键字:图形 绘制 手机 Windows | 更新日期: 2023-09-27 18:09:20

我似乎无法弄清楚如何在c#中绘制Windows手机应用程序中的图形。例如,我想画一条线。在旧式的Windows窗体中,我为Windows paint事件添加了一个事件处理程序。然后使用GDI+图形对象。但是在任何控制中都没有油漆事件吗?

那么我如何在画布上画一条线在Windows手机应用程序?


我想我需要澄清一下。我想创建动态图形,我想使用c#。我想要一个30 fps左右的更新频率,我只需要一些图形元素,大约100。

Windows手机-绘制图形

如果需要一行,使用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中显示旋转立方体