如何使用很少的内存显示图片
我是用C#做mobile开发的。我想再界面上显示图片。
以前的做法都是直接拖一个PictureBox控件在上面来显示,这样的话消耗的内存实在是太大了。
图片小了还好,图片大点就是毁灭性的了。两下就弹出 OutMemoryException异常了。
求大神指教用什么方法显示图片可以使用很少的内存?就想mobile自带的图片浏览程序一样,显示一张图片就用1~2M的内存。
求指教啊!先表示感谢
[解决办法]
显示图片所占内存,与图片大小与颜色数相关。
没有什么好的方法。
[解决办法]
还不如优化图片,如PNG之类
[解决办法]
更改图片格式,或者处理图片,将图片变小,不然无解
[解决办法]
移动设备通常用PNG图来搞,只需提供1、2M内存来解码和显示就行了,用完后,释放内存,让内存只装压缩图片(没解码),或者干脆把图片存flash里,要显示再读出来解码罗。
[解决办法]
png,jpg,gif等图片相比bmp,都较小,但都需要解码的。
bmp的大小还是跟像素格式与图片长宽相关。显示的话,必须用到那么多内存。
而且,楼主开发mobile,分辨率800x480,像素格式888,一张图片也才1M多点,不是完全符合你的要求么。
如果图片本身过大,可以先在windows上进行缩放,在到mobile上去处理啊。或者直接在mobile上进行实时缩放,想效率快用临近差值但缩放后图片质量不高,想质量高用二次卷积就好了。
[解决办法]
不要用MFC的东西,所有控件都自己写,纯GDI的比较省内存,建议改用C++,不用C#
http://download.csdn.net/detail/llxxhm/3314350