VC實(shí)現(xiàn)JPG圖片加載

字號(hào):

在OnDraw()函數(shù)中添加如下的代碼,并在工程目錄下放入test.jpg的圖片。
    IPicture *pPic;
    IStream *pStm;
    CFileStatus fstatus;
    CFile file;
    LONG cb;
    if (file.Open("test.jpg",CFile::modeRead)&&file.GetStatus("test.jpg", fstatus)&&   ((cb = fstatus.m_size) != -1))
    {
    HGLOBAL hGlobal = GlobalAlloc(GMEM_MOVEABLE, cb);
    LPVOID pvData = NULL;
    if (hGlobal != NULL)
    {
    if ((pvData = GlobalLock(hGlobal)) != NULL)
    {
    file.ReadHuge(pvData, cb);
    GlobalUnlock(hGlobal);
    CreateStreamOnHGlobal(hGlobal, TRUE, &pStm);
    if(SUCCEEDED(OleLoadPicture(pStm,fstatus.m_size,TRUE,IID_IPicture,(LPVOID*)&pPic)))
    {
    OLE_XSIZE_HIMETRIC hmWidth;
    OLE_YSIZE_HIMETRIC hmHeight;
    pPic->get_Width(&hmWidth);
    pPic->get_Height(&hmHeight);
    double fX,fY;