Windows Mobile 上的矢量图形

Posted

技术标签:

【中文标题】Windows Mobile 上的矢量图形【英文标题】:Vector Graphics on Windows Mobile 【发布时间】:2009-07-02 22:16:56 【问题描述】:

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

【问题讨论】:

好的,WMF 在紧凑框架中不受支持,并且 WPF/Silverlight 在 Windows Mobile 上不受支持。答案可能是:没有矢量图形。 【参考方案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】:

Silverlight?

【讨论】:

不知道是否支持:silverlight.net/learn/mobile.aspx 可能是FAQ老了。 因此问号,Silverlight for Mobile 现在应该出来了。 我认为 windows mobile 上的 eSilverlight 不支持浏览器外。这是 silverlight 3 的功能blogs.msdn.com/jonbox/archive/2009/03/22/…

以上是关于Windows Mobile 上的矢量图形的主要内容,如果未能解决你的问题,请参考以下文章

svg --- 可缩放矢量图形

替换 CDC 矢量图形的快速库

GDI+ 知识点记录

在 python 中创建矢量图形以用于 word/powerpoint 的最佳方法

Android动画机制与使用技巧——Android 5.X SVG 矢量动画机制

SVG(可缩放矢量图形)