Wince下的GDI+

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

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

好了,言归正传,我第一个要说的话就是关于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文。

posted on 2009-10-16 17:18  zcmky  阅读(1165)  评论(0编辑  收藏  举报

导航