Windows phone 8 提供多分辨率图像的价值以及如何用XAML描述它们

Windows phone 8 提供多分辨率图像的价值以及如何用XAML描述它们,windows-phone-8,windows-phone,Windows Phone 8,Windows Phone,我正在将WP7应用程序移植到WP8,非WVGA屏幕上的图标变得模糊。我希望应用程序有水晶般清晰的图标。我一直在阅读MSDN上的指南,以了解如何进行此操作,但我还不完全清楚 它建议仅提供WXGA资产。为每个分辨率(例如:logo.screen-wvga.png,-wxga.png,-720p.png)提供图像是否有价值?生成每个分辨率对我来说相当容易,而且我不担心增加包大小。我想知道如果操作系统不缩小资产的规模,资产是否会有更高的质量(有时?)。这不是用于填充屏幕区域的背景图像,而是用于整个应用

我正在将WP7应用程序移植到WP8,非WVGA屏幕上的图标变得模糊。我希望应用程序有水晶般清晰的图标。我一直在阅读MSDN上的指南,以了解如何进行此操作,但我还不完全清楚

  • 它建议仅提供WXGA资产。为每个分辨率(例如:logo.screen-wvga.png,-wxga.png,-720p.png)提供图像是否有价值?生成每个分辨率对我来说相当容易,而且我不担心增加包大小。我想知道如果操作系统不缩小资产的规模,资产是否会有更高的质量(有时?)。这不是用于填充屏幕区域的背景图像,而是用于整个应用程序中使用的徽标和中小型图标

  • 假设我只制作了一个WXGA版本的图标。用XAML描述图像的正确方式是什么?如果我在WP7上的WVGA屏幕的原始图像是37px乘以36px,我通过将维度乘以1.6生成WXGA one;我的图像现在是59像素乘58像素(四舍五入)。如果我有
    并在WXGA模拟器上运行它,操作系统会将其放大1.6倍。看起来我需要像这样指定原始预缩放图像的尺寸
    。这似乎不自然,因为资产没有这些维度——这是预期的方式吗


谢谢。

WP8多分辨率的工作方式是,您始终拥有480个逻辑像素的宽度(以及800或853.3像素的高度),并且所有元素都使用逻辑像素进行描述。 没有内置的方式来提供多资源资产。建议的方法是提供高分辨率的资产,并让操作系统缩小它们的规模。更复杂的解决方案需要一些代码


另请参见

几天前我遇到了同样的困惑。“适用于Windows Phone 8的多分辨率应用程序”一文实际上没有明确指出,如果只提供WXGA资产,我们如何让XAML正确显示图像。我通过以下两个教程找到了解决方案:

事实证明,您不需要明确声明高度:


然而,当你们在WVGA设备上运行应用程序时,这种方式应该会消耗更多的内存。在这种情况下,图像会缩小以显示,但以像素为单位的实际大小仍然保持不变

因此,更优化的方法是: