图片格式tiff转换为位图如何实现?最好有代码跟分析。

解决方案 »

  1.   

    http://community.csdn.net/Expert/topic/3264/3264384.xml?temp=.3703119
      

  2.   

    安装Platform SDK#include <GdiPlus.h>
    using namespace Gdiplus;#pragma comment(lib , "GdiPlus.lib")
    void TIFFToBMP()
    {
         CLSID clsid;
         Image img(L"source.tif");
         GetEncoderClsid(L"image/bmp", &clsid);
         img.Save(L"target.bmp" , &clsid , NULL);
    }int GetEncoderClsid(const WCHAR *format, CLSID *pClsid)
    {
    UINT  num = 0;          // number of image encoders
    UINT  size = 0;         // size of the image encoder array in bytes

    ImageCodecInfo* pImageCodecInfo = NULL;

    GetImageEncodersSize(&num, &size);
    if(size == 0)
    return -1;  // Failure

    pImageCodecInfo = (ImageCodecInfo*)(malloc(size));
    if(pImageCodecInfo == NULL)
    return -1;  // Failure

    GetImageEncoders(num, size, pImageCodecInfo);

    for(UINT j = 0; j < num; ++j)
    {
    if( wcscmp(pImageCodecInfo[j].MimeType, format) == 0 )
    {
    *pClsid = pImageCodecInfo[j].Clsid;
    free(pImageCodecInfo);
    return j;  // Success
    }    
    }

    free(pImageCodecInfo);
    return -1;  // Failure

    }