我在wince下想贴在对话框上贴一张背景图,但当程序在OnEraseBkgnd消息中执行到SelectObject这句时,发现内存占用很大,为0.4M,而我的程序对内存占用方面要求比较苛刻,请问大家有什么办法解决呢?在这里谢谢了~
你的图片多大,占内存就多大,要么用压缩过的图片,如JPG,但是会影响速度,选择一个吧,,,
利用wince自带的imgdecmp.dll和免费的VOImage类,另外还需imgdecmp.h、imgdecmp.lib和imgrendr.h,唯一比较麻烦之处为imgdecmp.lib需为具体硬件平台的wince的,可以在该平台的pb工程中可以找到。
该方法的缺点为显示bmp图片时速度非常慢,建议显示bmp采用其他方法。
可以参考《嵌入式系统Windows CE 开发技巧与实例》一书。
选择适当小的BMP,然后用StretchBlt来画。
**************************************************************
**谢谢大家对我问题的回复,请问大家:用内存映射文件的方法可以解决吗?**
**************************************************************