【问题标题】:Vector Graphics on Windows MobileWindows Mobile 上的矢量图形
【发布时间】:2025-12-07 12:30:01
【问题描述】:

我必须制作一个可在 Windows (XP/Vista) 和 Windows Mobile 上运行的应用程序。图形界面必须是可扩展的(针对不同的分辨率),并且控件必须是自定义的(就像通常在音乐应用程序上找到的那样)。 SVG 是我的即时选择,但缺乏对 Windows Mobile 的支持几乎浪费了我的时间预算。我试图评估 WMF,这似乎是正确的答案,但我不太喜欢它。 我在考虑 WPF/XAML,但我不知道 Windows 和 Windows Mobile 之间有什么区别。 该项目必须是 C# 或 C++ 并且它是一个商业项目(因此没有 GPL 库)。 什么是最好的选择?我忽略了什么?

【问题讨论】:

  • 好的,WMF 在紧凑框架中不受支持,并且 WPF/Silverlight 在 Windows Mobile 上不受支持。答案可能是:没有矢量图形。

标签: c# c++ wpf windows-mobile vector-graphics


【解决方案1】:

WinForms 对缩放的支持有限: http://sellsbrothers.com/writing/winformsAutoScaling.htm

您可能还想查看“锚”和“对接”: https://web.archive.org/web/1/http://articles.techrepublic%2ecom%2ecom/5100-10878_11-6165908.html

结合在一起,您应该能够创建适用于桌面和移动设备的 UI。

【讨论】:

  • 控件的缩放怎么样?它们基本上是图像,在 Windows Mobile 上应该更小,在 Windows 上应该更大。 SVG 可以很好地扩展,但你知道...
【解决方案2】:

您可以在 .NET 紧凑框架中扩展 UI,就像 Erwin 所说的对接和锚定。在我编写的 Windows 移动应用程序中,我通常必须编写一些自定义代码来处理诸如字体缩放之类的事情(如果文本应该是可点击的,触摸可能需要更大的字体然后系统默认值)。

我不认为你会在没有代码的情况下正确地将它发送到scale picture,我在这个网站上发现了一些与此相关的问题。根据我的经验,我编写了 99.9% 的代码,因此它在 windows 和 windows mobile 上运行良好,但我确实为 windows mobile 制作了不同的 UI。

如果通常在 .NET 2.0 / .NET 2.0 Compact Framework 中编写代码,但如果您不关心必须安装 .NET 3 那么它应该会更好(.NET 2 比 .NET 3 分布更广)

【讨论】:

    【解决方案3】:

    另一个选项是Qt library,它是用 C++ 编写的。它是 LGPL,这意味着它可以用于商业产品,而无需发布您的源代码(对库本身的更改除外)。如果由于某种原因还不够好,他们还会出售商业许可证。

    它在 Windows 和 Windows Mobile 上运行。作为奖励,如果您进行了合理的编程工作(并假设您所做的其他所有事情都支持它),您的应用程序也可以在 Mac OSX、Linux 和 S60 上运行。

    它支持可缩放矢量图形、具有完整小部件支持的画布以及许多其他漂亮的功能!我建议查看documentation,看看它是否有你需要的一切。

    【讨论】:

      【解决方案4】:

      【讨论】: