请问老大,怎么显示IFF啊?

解决方案 »

  1.   

    m_fiConvHandle = FreeImage_Load( FIF_IFF , "filename.iff");
    if(m_fiConvHandle)
    {
    CBitmap bitmap;
    BITMAPINFOHEADER *lpbmi = FreeImage_GetInfoHeader(m_fiConvHandle);
    LPBITMAPINFO lpBmpInfo = FreeImage_GetInfo(m_fiConvHandle);
    LPBYTE lpBits = FreeImage_GetBits(m_fiConvHandle);

    HBITMAP hBitmap = CreateDIBitmap( pDC->GetSafeHdc() , lpbmi ,  CBM_INIT , lpBits ,lpBmpInfo ,DIB_RGB_COLORS);
    bitmap.Attach(hBitmap); CDC dcMem;
    dcMem.CreateCompatibleDC(pDC);
    CBitmap *oldbm = dcMem.SelectObject(&bitmap);

    pDC->BitBlt( 0 , 0 , lpbmi->biWidth , lpbmi->biHeight , &dcMem , 0 , 0 , SRCCOPY);

    dcMem.SelectObject(oldbm);
    dcMem.DeleteDC();
    bitmap.Detach();
    DeleteObject(hBitmap);
    }
    FreeImage_Unload(m_fiConvHandle);