Bitmap img(_T("c:\\img.png"))
   CLSID pngClsid;
   GetEncoderClsid(L"image/png", &pngClsid);
   img.Save(L"New.png", &pngClsid, NULL);
img.png只有900k,但New.png有1.4M;这是什么原因?望大虾们指点一下!

解决方案 »

  1.   

    我忘了说了:我的原图图片是用PhotoShop制作的!我用new.png作为原图的话,那么获得的新图片大小是等于new.png的,也就是说PhotoShop产生的原图使用Save方法保存的话产生的新图片才会大于原图!不知道什么原因?
      

  2.   

    SAVE的时候,虽然都是PNG格式,但是压缩的质量参数可能有差异,所以造成了这种情况。
      

  3.   

    PhotoShop产生的原图使用Save方法保存的话产生的新图片才会大于原图
    以为你说编程呢!
      

  4.   

    png格式是压缩格式,但是PS的压缩时还是有一些选项可用的,特别是保存为web和所用格式菜单里的 保存效果,往往保存后图片小很多,而GDI+的编码器是固化的某种保存方式,和PS保存时不一定完全一样。