/* * public static WriteableBitmap WriteableBitmapBlur(this WriteableBitmap writeableBitmapOld, int kernelWidth, int kernelHeight) * { * var cloneWriteableBitmap = WriteableBitmapExpansion.CopyWriteableBitmap(writeableBitmapOld); * WriteableBitmapConvolutionExtensions.GaussianBlur(cloneWriteableBitmap, kernelWidth, kernelHeight); * cloneWriteableBitmap.Invalidate(); * return cloneWriteableBitmap; * } */ /// <summary> /// 高斯滤波 /// </summary> /// <param name="writeableBitmapOld"></param> /// <param name="radius">0 to 100</param> /// <param name="sigma">0 to 30</param> /// <returns></returns> public static WriteableBitmap WriteableBitmapBlur(this WriteableBitmap writeableBitmapOld, int radius, double sigma) { var cloneWriteableBitmap = WriteableBitmapExpansion.CopyWriteableBitmap(writeableBitmapOld); var writeableBitmap = WriteableBitmapConvolutionExtensions.GaussFilter(cloneWriteableBitmap, radius, sigma); writeableBitmap.Invalidate(); return(writeableBitmap); }
public static WriteableBitmap WriteableBitmapBlur(this WriteableBitmap writeableBitmapOld) { var cloneWriteableBitmap = WriteableBitmapExpansion.CopyWriteableBitmap(writeableBitmapOld); WriteableBitmapConvolutionExtensions.GaussianBlur(cloneWriteableBitmap); cloneWriteableBitmap.Invalidate(); return(cloneWriteableBitmap); }
public static WriteableBitmap WriteableBitmapBlur(this WriteableBitmap writeableBitmapOld, int x, int y) { if ((x & 1) == 0 || (y & 1) == 0) { return(null); } var cloneWriteableBitmap = WriteableBitmapExpansion.CopyWriteableBitmap(writeableBitmapOld); WriteableBitmapConvolutionExtensions.BoxBlur(cloneWriteableBitmap, x, y); cloneWriteableBitmap.Invalidate(); return(cloneWriteableBitmap); }
private void SetImage(string source) { BitmapImage img1 = new BitmapImage(new Uri(source, UriKind.RelativeOrAbsolute)); ImageBack.Source = img1; img1.CreateOptions = BitmapCreateOptions.None; img1.ImageOpened += (s, e) => { WriteableBitmap bitmap = new WriteableBitmap(img1); WriteableBitmapConvolutionExtensions.BoxBlur(bitmap, 145); ImageBackBlur.Source = bitmap; }; }