8

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

4

1 回答 1

10

我将从使用 WriteableBitmap 开始,要从 BitmapImage 获取 WriteableBitmap,您可以执行以下操作:

WriteableBitmap wb = new WriteableBitmap(bitmapImage);

然后我会推荐使用WriteableBitmapExtension library。它支持调整图像大小:

wb.Resize(newWidth, newHeight, WriteableBitmapExtensions.Interpolation.Bilinear);

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

wb = wb.Convolute(WriteableBitmapExtensions.KernelGaussianBlur5x5);

或者

wb = wb.Convolute(WriteableBitmapExtensions.KernelGaussianBlur3x3);

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

于 2012-12-18T10:11:53.110 回答