Windows CE 6.0中的消除锯齿的圆角

时间:2009-04-01 14:03:23

标签: compact-framework windows-ce

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

我从RoundRect开始,但结果出现了锯齿状,因为Windows CE使用GDI和doesn't support GDI+作为Windows Mobile 5+。我目前的临时解决方案是创建许多小角点位图,但由于GUI设计的其余部分包括透明度,渐变填充和可变宽度边框,因此该解决方案意味着创建和管理这些位图的大量排列。 / p>

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

2 个答案:

答案 0 :(得分: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,因为即使它是程序性的,它或多或少是面向对象的,它们将所有常量都变成枚举而不是定义。

答案 1 :(得分:0)

Windows Mobile 6 Professional包含有限版本的gdiplus.dll。