......
BYTE * pBuf = (BYTE *)GlobalAlloc(GMEM_FIXED, 1024*1024);  //分配一个固定大小的内存,因为我要反复在内存中处理图片,所以分配一个固定的,足够大的内存空间反复使用.
CreateStreamOnHGlobal((HGLOBAL)pBuf,FALSE,&pStream);  //创建IStream,且IStream->Release时不释放内存空间
pJpg = Image::FromFile(A2W(csPath));  //打开一个JPG图片
pJpg->Save(pStream,&clsid);  //将图片保存在内存,可是怎么知道图片的大小(JPG文件长度)呢?
......

解决方案 »

  1.   

    用CFile类可以取得文件信息,文件尺寸,时间等等。
      

  2.   

    可是我打开JPG图片后,对JPG做了处理,其大小肯定已不是原来的大小了呀.
      

  3.   

    我重新描述一下...... 
    分配一个固定大小的内存,因为我要反复在内存中处理图片,所以分配一个固定的,足够大的内存空间反复使用. 
    BYTE * pBuf = (BYTE *)GlobalAlloc(GMEM_FIXED, 1024*1024);
    创建IStream,且IStream->Release时不释放内存空间
    CreateStreamOnHGlobal((HGLOBAL)pBuf,FALSE,&pStream);
    打开一个JPG图片
    pJpg = Image::FromFile(A2W(csPath));  pJpg->Save(pStream,&clsid);
    ....
    对这个JPG图片进行一系列处理
    ....
    将处理后的JPG图片保存在内存,可是怎么知道图片的大小(JPG文件长度)呢? 
    ......