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文。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值