【问题标题】:WP7: How to downscale an image smoothly?WP7:如何平滑地缩小图像?
【发布时间】:2014-10-01 19:07:43
【问题描述】:

我正在开发一个 Windows Phone 应用程序(出于技术原因,它必须是 WP7)。我需要显示最初存储为高分辨率 PNG 的图像,但它们以较小的尺寸显示。我在 <Grid> 中使用了 <Image>,星行高度。

问题是缩小的图像看起来有点不稳定(好像缩小算法不好),但我似乎无法找到一种方法来平滑地显示它们而不事先知道图像的显示尺寸并生成以编程方式生成新图像。

是否有我可以更改的属性,以便应用程序使用不同的缩小算法,因此图像仅在 XAML 中定义,还是我不得不在后面的代码中编写逻辑以使图像看起来平滑?

更新:我得到了一些屏幕截图来显示问题。

  1. 只是<Image><Grid>

  1. <Image> 位于 <ViewBox> 中,位于 <Grid>

ViewBox 可以帮助缩放,但是它使用的算法是一样的,这对我来说一点用处都没有。

【问题讨论】:

  • 听起来像是 ViewBox 的工作
  • 由于您必须处理的分辨率数量有限,是否可以从使用更好的重采样算法准备的服务器下载所需大小的图像?
  • 我可以在服务器上对它们进行预处理,但我也很好奇这是否可以完全使用 XAML 语法来完成。如果不能,那么我将使用您的解决方案。
  • 将它们嵌入到您需要的任何尺寸的 ViewBox 中,您不必担心其余的问题。这就是它的特殊用途。
  • 好的,我会尝试使用 ViewBox,但我会在尝试时将问题留待解决。

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


【解决方案1】:

请参阅下面的帖子以重新调整图像大小,这可能会对您有所帮助

Microsoft.Phone 程序集包括WriteableBitmap class, SaveJpeg()。 SaveJpeg 签名如下所示: 您可以指定图像的高度和宽度以进行缩放。

public static void SaveJpeg(
  this WriteableBitmap bitmap, 
  Stream targetStream, 
  int targetWidth, 
  int targetHeight, 
  int orientation, 
  int quality 
  );

Resizing Images in Windows Phone 7

【讨论】:

    猜你喜欢
    • 2014-05-28
    • 1970-01-01
    • 2012-08-05
    • 2011-08-12
    • 2011-06-08
    • 2023-03-15
    • 2010-11-25
    • 2012-11-17
    • 1970-01-01
    相关资源
    最近更新 更多