老板怎么都不满意
我还得找算法,源码

解决方案 »

  1.   

    还有,谢谢 lanstar200(码雅哥布林) 
    你的算法挺管用,可是如果底图颜色很相近的话
    转换后就会出现一条条的波纹不知道PHOTOSHOP是用什么算发做的,效果好的不得了
      

  2.   

    我这有一个BMP->256的运算类,运用函数ConvertTo256即可,需要的话和我联系
    QQ:239302
      

  3.   

    http://freeimage.sourceforge.net/download.html
    一个提供源代码的图形处理库,里面提供了24位转256位位图的函数,就是使用了抖动算法,转出来的256色位图效果和Acdsee不相上下,你可以看看里面的源码
      

  4.   

    #include "FreeImage.h"
    #pragma comment (lib , "FreeImage.Lib")void TrueTo256()
    {
       FIBITMAP *m_fiHandle = FreeImage_Load( FIF_BMP , "E:\\true.bmp");
       //這種轉換質量極好,比Acdsee好,但是速度慢
       FIBITMAP *m_fiConvHandle = FreeImage_ColorQuantize(m_fiHandle , FIQ_NNQUANT);
       //這種轉換質量差些,但是很快
       FIBITMAP *m_fiConvHandle = FreeImage_ColorQuantize(m_fiHandle , FIQ_WUQUANT);
       FreeImage_Save(FIF_BMP , m_fiConvHandle , "E:\\256.bmp");
       FreeImage_Unload(m_fiConvHandle);
       FreeImage_Unload(m_fiHandle);
    }
      

  5.   

    晕,我这个是32位的BMP
    这个函数只支持到24位的不会改:(
      

  6.   

    lanstar200(玛雅哥布林)  大哥
    能不能帮忙把你的TrueColorTo256函数改成转到24位色的啊
    这样就能用了