使用WP7 Silverlight缩放图像时未应用平滑算法

时间:2011-02-13 05:19:07

标签: silverlight image xaml windows-phone-7 scaling

我想在Windows Phone 7应用程序中显示一些图像(32x32 .png)。是的,现在,我可以缩放它们等等...我想知道是否有一种方法可以在没有应用任何平滑算法的情况下缩放它们(因此当我将图像大小加倍时,它会创建一个块状图像外观。)

现在我的XAML中有以下内容:

<Image Height="64" Width="64" Margin="12,0,9,0" Name="{Binding itemName}"
Stretch="Uniform" VerticalAlignment="Center" Source="{Binding imageName}" />

其中imageName只是.png图像的路径。有没有一种简单的方法可以在XAML中执行此操作,或者我应该将图像加载到不同的格式以在代码中使用它(同时保持png的透明度)。

提前致谢, -Jeff

1 个答案:

答案 0 :(得分:1)

Theres目前无法在XAML中执行此操作。在没有任何插值(平滑)的情况下实现最近邻居缩放的唯一方法是开源库WriteableBitmapEx。

http://writeablebitmapex.codeplex.com

首先将PNG加载到WriteableBitmap中,然后使用WriteableBitmapEx提供的Resize扩展方法。使用NearestNeighbor作为方法的最后一个参数的值。然后将Resize方法的返回值分配给Image控件的Source属性。 您可以将此功能包装在IValueConverter实现中,以便在XAML中使用它。