2

我想在运行 Windows CE 6.0 的 ARM 设备上显示一个平滑的圆角矩形。

我从RoundRect开始,但结果有锯齿状的角落,因为 Windows CE 使用 GDI 并且不像Windows Mobile 5+ 那样支持 GDI+ 。我目前的临时解决方案是创建许多小角位图,但由于 GUI 设计的其余部分包括透明度、渐变填充和可变宽度边框,因此该解决方案意味着创建和管理这些位图的大量排列。

有没有办法在 Windows CE 中获得类似 GDI+ 的图形基元?我可以控制我的 Windows CE 映像,因此我可以根据需要构建任何内容。

4

2 回答 2

1

我不知道 CF 对此的支持如此糟糕。真的没有选择将 GDI+ 放到系统上吗?我没有可用的 Platform Builder,所以我无法自己查看。

我使用的解决方案是 OpenVG。如果您的设备在硬件中支持它(就像许多 OpenGL ES 2.0 设备似乎支持的那样),它真的很快,并且有一些软件实现也应该足够快(在桌面上,我使用AmanithVG SRE进行仿真)。不过,我没有在我的 CE 设备上尝试 AmanithVG SRE,我认为您必须联系他们以获取二进制文件(桌面二进制文件可从网站获得)。如果您的设备有一个 PowerVR 芯片(例如 TI OMAP35x 有一个),PowerVR 会提供 OpenVG 硬件渲染器(尽管您仍然需要一个用于桌面)。

OpenVG 有一个丑陋的 API,就像所有的 OpenXX API(也就是说,如果你习惯了 .NET BCL),但它们没问题,而且 OpenVG 很容易转换为 .NET,因为即使它是程序性的,它或多或少是面向对象的,他们将所有常量都变成了枚举而不是定义。

于 2009-04-03T08:31:51.610 回答
0

Windows Mobile 6 Professional 包括一个限制版本的 gdiplus.dll。

于 2009-04-21T06:51:13.543 回答