求一个图片效果处理,底片效果的算法。
求真正的底片效果,255-RGB是反色,请各位大仙审视~~算法图片处理C#.net图片

解决方案 »

  1.   

     public WriteableBitmap FanZhuan(WriteableBitmap src)
            {
                if (src != null)
                {
                    int w = src.PixelWidth;
                    int h = src.PixelHeight;
                    WriteableBitmap FanImage = new WriteableBitmap(w, h);
                    byte[] temp = src.PixelBuffer.ToArray();
                    for (int i = 0; i < temp.Length - 4; i += 4)
                    {
                        temp[i] = Convert.ToByte(255 - temp[i]);
                        temp[i + 1] = Convert.ToByte(255 - temp[i + 1]);
                        temp[i + 2] = Convert.ToByte(255 - temp[i + 2]);
                    }
                    Stream sTemp = FanImage.PixelBuffer.AsStream();
                    sTemp.Seek(0, SeekOrigin.Begin);
                    sTemp.Write(temp, 0, w * 4 * h);
                    return FanImage;
                }
                else
                {
                    return null;
                }
            }
    贴出反色算法,新来的同学可以看看。
    在线等底片效果~~
      

  2.   

    实际上就是把图片的每个象素点的RGB值分别用255减就可以了,关于图片的这方面处理可以看看photoshop的滤镜插件的算法。
      

  3.   

    苦等两日终于有人指点迷津,真心的感谢!
     可不知这加上一个基色该怎么做,将每个像素点的RGB都加上一个值? 这样会将鲜艳的色彩遮挡住么,呃,又或者将照片反色之后做个“老照片”的效果处理,是不是可行呢。
      现在的情况很尴尬,本人新人一枚,以前也没接触过图像rgb的操作,所以当遇到这种找不到的算法时一头雾水,由于没有基础知识的掌握,所以无法做出这些基础值的计算....