灰度图只是一种特殊的256色位图R=G=B 你只要定义一个R=G=B的256色的调色板,然后按普通的256位图保存就是了

解决方案 »

  1.   

    同意qiling1979,自己设置一个调色版,从变化范围是0-255,然后
    在图像数据改成指向调色版的索引就可以了。
      比如,一般灰度范围是0-255.那么假设一个数据原来的颜色是
    (123,123,123),那么它的索引值是123.而且位图的数据是上下颠倒,
    你可以按照这个原则来修改位图。当然,位图的头BITMAPINFOHEADER也得改。
    其中的biBitCount = 8.
      
      

  2.   

    http://www.csdn.net/Expert/TopicView1.asp?id=604628
      

  3.   

    RGBQUAD rgb[256];
    memset(rgb,0,sizeof(RGBQUAD)*256);
    for(int ix=0;ix<256;ix++)
    rgb[ix].rgbBlue=rgb[ix].rgbGreen=rgb[ix].rgbRed=ix;
    上面是创建灰度调色板。新的pixel的颜色=red*.299+blue*.114+green*.587
      

  4.   

    根据RGB值算出象素的亮度值灰度图的调色板为:RGB(0,0,0),RGB(1,1,1)...,RGB(255,255,255)