+ -
当前位置:首页 → 问答吧 → 如何从内存中读取jpeg,然后显示出来

如何从内存中读取jpeg,然后显示出来

时间:2011-11-25

来源:互联网

编程环境是: vs2005 win32 application 程序

我之前写了个vs2005 win32 console 程序,发送端从jpeg中读出char流,然后分包发送。在接收端接收完,重组到一个char*的内存地址里。buffer = (char*)malloc(sizeof(char)*lSzie); lSize就是jpeg文件的大小。在这个程序里面,我就用fwite写到一个事先申明的一个jpeg文件里面。这样就完成了jpeg的发送。

但是我现在需要显示出这个jpeg,所以我想到了带窗口的win32 application程序。
怎么写这种窗口程序呢?显示图片的控件是什么?
我不想写成那种首先写进文件里面,然后再从文件里面读取到控件的那种形式,因为速度太慢了,我不是显示一张图片,所以接受大量的连续图片。
所以需要直接从内存读取jpeg字符流,然后直接显示jpeg。

我在网上看了很多说用GDI+可以做,不知大家有什么思路? 

基础差呀。。。

作者: tw7613781   发布时间: 2011-11-25

CreateStreamOnHGlobal 创建IStream,把jpeg数据写到IStream里面,OleLoadPicture 从IStream加载jpeg到IPicture, picture->Render绘图
http://www-etud.iro.umontreal.ca/~petitg/cpp/oleimageimporter.html

作者: masterz   发布时间: 2011-11-26