在VC上实现如何从内存中读取JPEG GIF等图像

分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

               
 
  
 
  
//-----------以下两句放在头文件定义的地方#include "Gdiplus.h"using namespace Gdiplus; //-----------以下代码修改一下变量为自己的变量,即刻使用    void Readfrombuffer(char* video_data,int size){                GdiplusStartupInput m_gdiPlusInPut;                ULONG_PTR m_gdiPlusToken;                GdiplusStartup( &m_gdiPlusToken, &m_gdiPlusInPut, NULL ); //初始化GDI+   IPicture *pPic;  IStream *pStm ;   //分配全局存储空间   HGLOBAL hGlobal=GlobalAlloc(GMEM_MOVEABLE,size);  LPVOID pvData=NULL ;  //锁定分配内存块   pvData=GlobalLock(hGlobal);  //复制数据包video_data到pvData  memcpy(pvData,video_data,size);  GlobalUnlock(hGlobal);  CreateStreamOnHGlobal(hGlobal,TRUE,&pStm);  ULARGE_INTEGER        pSeek;         LARGE_INTEGER    dlibMove  ={  0  }  ;    pStm->Seek(dlibMove,STREAM_SEEK_SET  ,&pSeek);                  Sleep(15);  //装入图形文件  if(FAILED(OleLoadPicture(pStm,size,TRUE,IID_IPicture,(LPVOID*)&pPic)))  {//附:如果video_data这个数组包含的图像有错,则OleLoadPicture 容易产生读写内存错误   pPic->Release();   pStm->Release();   return ;  }  Image img(pStm,0);  Graphics mGraphics(GetDC(hwnd));  mGraphics.DrawImage(&img, 0, 0, Video_Width, Video_Height);  img.~Image();//会出错  mGraphics.~Graphics();  pPic->Release();  pStm->Release();               GdiplusShutdown(m_gdiPlusToken); //销毁GDI+}
            

分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值