image - WP8 : Is there an easy way to scale and blur an BitmapImage for windows phone app?

标签 image windows-phone-7 windows-phone-8 effect bitmapimage

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

最佳答案

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

WriteableBitmap wb = new WriteableBitmap(bitmapImage);

那么我会推荐使用 WriteableBitmapExtension library .它支持调整图像大小:
wb.Resize(newWidth, newHeight, WriteableBitmapExtensions.Interpolation.Bilinear);

做的gaussian blur使用 WritableBitmapExtensions 执行以下操作(由于某种原因,concolution 不会编辑 writableBitmap,因此您必须再次将其分配给相同的 writableBitmap 以查看结果):
wb = wb.Convolute(WriteableBitmapExtensions.KernelGaussianBlur5x5);

或者
wb = wb.Convolute(WriteableBitmapExtensions.KernelGaussianBlur3x3);

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

关于image - WP8 : Is there an easy way to scale and blur an BitmapImage for windows phone app?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13927845/

相关文章:

Android Jetpack Compose 闪烁图像克隆

java - Java如何通过编程将图片编码成视频文件?

css - WP7 + HTML5 - 如何防止 Canvas 被选中/突出显示

c# - System.UnauthorizedAccessException : Access is denied. Windows Phone 使用文件时

c# - 如何获取 map 控件的边界?

wpf - WP8 - XAML 网格列在文本太长时扩展

java - Java 中的离散小波变换在图像中创建白点

silverlight - 在代码中访问样式 setter

c# - 使用网格的 Windows Phone

css - 为什么我不能使用 float left 使这些图像响应并有效堆叠