首页>
技术资讯>
详情

Wince下的GDI+

2016-05-12 来源:佚名 阅读量: 0
关键词: WINCE

    先转几篇以前的文章,很粗,不要见笑

    早就想写博客,但是人懒,所以就一直拖下来了。我是一个编程爱好者,注意是爱好者。换句话说也就是野路子没有受过正经的科班训练,所以很多地方都有可能笑掉大牙,有错误请不吝赐教。

    好了,言归正传,我第一个要说的话就是关于wince下的GDI+。

    说错了是WM下,从WM5.0以后,WM就开始支持GDI+了,这个可以从以下几方面证明:

    首 先是。net可以引用GDI+,其次 是在wm5.0的ROM中找到gdiplus.dll,还有就是在wm5.0以后的SDK有gdiplus的部分的。h文 件,gdiplusenums.h和gdiplusimaging.h。但这些。h文件不全,只有一部分,是关于图像编码的。怎么样才能在wm5.0平台 上使用原生的gdi+的API呢?我想了一些办法。

    首先,gdi+是gdi发展的高级产物,它是对gdi发展和完善,它主要表现在两个方面,一是功能丰富,它引入大量的gdi所不具备的功能,如图形旋转,矩阵操作,样条曲线等。二是使用简便,不用再选出选入,对象销毁,关于怎么使用和如何GDI+的话题,这里是比较全的,但这里一是在window下的,二是大部分例子是delphi下的,但我觉得很全面,也很有借鉴意义。

    gdi+ 实际是两部分,一个是gdiplus.dll,它是gdi+的实现部分。第二部分是封装层。DLL只是实现了功能 ,也就所谓的flat api,如何使之更易于使用就要通过封装所以才会有多达数十个的头文件,所谓的gdiplus.h只是引用诸多的gdiplusXXXXX.h。要在编程 中隐式地引用gdi+还要有个lib,这个是SDK中没有的。

    我查了下,可以通过DLL得到lib,这里说得很详细。

    照着操作,我是VS2008,dumpbin总是运行不了,原来还要运行下vcvarsall.bat对参数进行下初始化才行。

    然后就得到了dll输出表,一共输出了609个函数。生成库文件。

    这 里说下lib在不同平台下是不一样的,我认为应该使用VS2008安装目录下的\VC\ce\bin\x86_arm目录的lib才行,我的参数 是 lib /def:gdiplus.def /machine:arm /subsystem:windowsce,运行成功。我想再把这个库和桌面平台下所有的gdiplus打头的。h文件引用过来,应该就行了吧。但这个我 还没有试验,能不能成功我也不没把握。

    可能存在两个问题一是移动版的有些功能没有实现,二是有些封装不是仅仅靠。h文件就行的,应该还需要一些代码。这里也是个参考,不过是E文。

热门推荐 查看更多