如题

解决方案 »

  1.   

    如果自己处理,可以把rgb颜色转换位灰度,例如,00FFFF, 平均一下,(00+FF+FF)/3 = 1A
    那么最后得颜色就是 1A1A1A 了
      

  2.   

    如果是RGB24位图片,则可以:
    red = oldColor.R;
    green = oldColor.G;
    green = oldColor.B;tmpColor = (byte)(.299 * red + .587 * green + .114 * blue);
    newColor = Color.FromArgb(tmpColor, tmpColor, tmpColor);如果PNG图片包含透明度,则需要做透明度的相关处理。
    --------------------------------
    http://blog.csdn.net/johnsuna/ a3news#hotmail.com
      

  3.   

    设图片为img
    可以这样:
    for(int i=0; i<img.Width, i++)
    {
       for(int j=0; j<img.Height; j++)
       {
          Color c = img.GetPixel(i,j);
          int rec = (c.R + c.G + c.B)/3;
          img.SetPixel(i, j, Color.FormArgb(rec, rec, rec) );
       }
    }