【问题标题】:Scaling an image with WP7 Silverlight with no smoothing algorithm applied使用未应用平滑算法的 WP7 Silverlight 缩放图像
【发布时间】:2011-02-13 05:19:06
【问题描述】:

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

现在我的 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 的透明度)。

提前致谢, -杰夫

【问题讨论】:

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


    【解决方案1】:

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

    http://writeablebitmapex.codeplex.com

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

    【讨论】:

    • 感谢您的回答 :) 这个库是否支持 .pngs 的 alpha 透明度? (我一眼就看到它提到了 alpha)
    • 是的,它支持它并注意用于WriteableBitmap的预乘alpha。
    猜你喜欢
    • 1970-01-01
    • 2010-11-25
    • 2011-05-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-07
    • 1970-01-01
    • 2012-11-17
    • 1970-01-01
    相关资源
    最近更新 更多