2012-02-09 70 views
0

我點擊按鈕後如何操作照片到棕褐色。操縱照片到棕褐色

下面是我的代碼:

private void button1_Click(object sender, RoutedEventArgs e) 
{ 
    BitmapSource image = (BitmapSource)video.Source; 
    image.Save(DateTime.Now.ToString("ddMMyyyy HHmmss") + ".jpg", ImageFormat.Jpeg); 
    MessageBox.Show("Saved on bin/debug"); 
} 
+0

你可以使用着色器很容易地做到這一點:[着色器庫](http://perspectivefx.codeplex.com/) – MyKuLLSKI 2012-02-09 17:38:18

+0

我想使用該按鈕來捕捉具有棕褐色效果的照片並將其保存到位置。我應該添加什麼? – mmmitchell 2012-02-16 15:55:51

+0

蘋果從圖書館到照片的棕褐色陰影 – MyKuLLSKI 2012-02-16 16:56:37

回答

0

您可以使用WriteableBitmap和操縱它的像素數據unsafe方式,像here

然後你可以使用

public static void ToSepia(this WriteableBitmap wrb) 
    { 
     // ForEach... 
     // (...ForEach(this WriteableBitmap bmp, Func<int, int, Color, Color> func)...) 
     // 
     wrb.ForEach((x, y, c) => 
     { 
      // Convert color to grayscale. 
      byte grayScale = (byte)((c.R * .3) + (c.G * .59) + (c.B * .11)); 
      // Init new color with taking same alpha. 
      Color newColor = Color.FromArgb(c.A, grayScale, grayScale, grayScale); 
      // Apply sepia and return new color. 
      return new Color() 
      { 
       R = (byte)(newColor.R * 1), 
       G = (byte)(newColor.G * 0.95), 
       B = (byte)(newColor.B * 0.82), 
      }; 
     }); 
    } 

這裏是一個SL助手庫,但最近一個WPF版本也做了(請在源控制分支)。 http://writeablebitmapex.codeplex.com/

+0

我想捕捉與棕褐色效果的照片。在我的按鈕中添加什麼? – mmmitchell 2012-02-16 15:53:08