WP8:是否有一种简单的方法来缩放和模糊Windows Phone应用程序的BitmapImage?

ths*_*ieh 8 image effect bitmapimage windows-phone-7 windows-phone-8

我正在开发一个Windows Phone应用程序,可以通过MediaPlayer API从音乐文件动态读取相册艺术.我希望获得专辑艺术并调整视图的背景.由于调整大小会丢失细节并使图像变得难看,所以我想模糊它或某种效果.有没有我可以模糊图像的API?(来自C#还是XAML)?非常感谢!

Joh*_*alk 10

我将首先使用WriteableBitmap,从BitmapImage获取WriteableBitmap,您可以执行以下操作:

WriteableBitmap wb = new WriteableBitmap(bitmapImage);
Run Code Online (Sandbox Code Playgroud)

然后我建议使用WriteableBitmapExtension库.它支持调整图像大小:

wb.Resize(newWidth, newHeight, WriteableBitmapExtensions.Interpolation.Bilinear);
Run Code Online (Sandbox Code Playgroud)

要使用WritableBitmapExtensions执行高斯模糊,请执行以下操作(由于某种原因,concolution不会编辑writableBitmap,因此您必须将其再次分配给相同的writableBitmap以查看结果):

wb = wb.Convolute(WriteableBitmapExtensions.KernelGaussianBlur5x5);
Run Code Online (Sandbox Code Playgroud)

要么

wb = wb.Convolute(WriteableBitmapExtensions.KernelGaussianBlur3x3);
Run Code Online (Sandbox Code Playgroud)

(只是相邻像素的权重不同).