下了CxImage,但没找到哪个地方是转换的
大家谁有这方面的资料分享下吧,感谢啊

解决方案 »

  1.   

    http://blog.csdn.net/fengbingchun/article/details/6426836Load 、Save、CXIMAGE_FORMAT_PNG即可
      

  2.   


    IStream* CDXGraph::StretchPic(const WCHAR *path, const WCHAR *format, int width, int heigh)
    {
        Bitmap orgpic(path) ;  
        Image *Despic = orgpic.GetThumbnailImage(width,heigh) ;  
        
        IStream* pstm = NULL;   
        
        CLSID encoderClsid ;  
        GetEncoderClsid(format,&encoderClsid) ;  
        CString name;
        
            name = "Debug\\1.bmp";
        
        Status sta =Despic->Save(name.AllocSysString(),&encoderClsid,0) ; //Despic->Save(pstm, &encoderClsid,0);  
        if (sta == Ok)  
        {  
            return pstm ;  
        }  
        return NULL ;  
    }int CDXGraph::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;   
    }调用方法
    StretchPic(L"1.bmp",L"image/png",200,200)
      

  3.   

    Load 、Save、CXIMAGE_FORMAT_PNG
    ++
      

  4.   

    "PNG CXIMAGE_SUPPORT_PNG  png,zlib  104"
    我没有找到png.dll和zlib.dll两个库,只有lib的
    请问都要加哪些文件到工程里呢,我都加进去了,结果错误一堆
    感谢啊
     
      

  5.   

    gdi+ 嘛
    bmp png jpg 互换. 支持缩放.质量
      

  6.   

    我试了下,用cximage压缩的图片数据量小
      

  7.   

    倒是. gdi+的图片算法比较旧了. jpg有多代格式. gdi+压缩出的jpg比其他同软件转换出的jpg大很多.
      

  8.   

    我也是用gdi+的方法实现的,先将bmp图片读入内存位图,再将内存位图直接保存为png格式
      

  9.   

    如果用mfc的类的话
    #include "atlimage.h"

    CImage image;
    image.Load(_T("D:\\desktop\\test1\\photo\\test\\test\\1.bmp"));
    image.Save(_T("D:\\desktop\\test1\\photo\\test\\test\\1.png"));