屏幕分辨率依赖图像源

时间:2013-02-07 11:46:28

标签: xaml windows-8 microsoft-metro winrt-xaml

我正在开发一个Windows 8 metro(是的!)应用程序。如何提供依赖于屏幕分辨率的图像源?

根据these指南,我们也可以使用图像命名约定来实现它。

我有一个图像控件如下所示。

<Image Source="Assets/test.jpeg"/> 

我也有test.scale-100.jpg,test.scale-140.jpg&amp;资产文件夹中的test.scale-180.jpg图像。每个图像具有不同的图标颜色,以识别加载的图像。

如果我在模拟器中运行应用程序并更改屏幕分辨率,我仍然会看到test.scale-100.jpg的任何分辨率。为什么会这样?在哪种情况下OS会加载test.scale-140.jpg或test.scale-180.jpg图像?

编辑:我搞定了。一旦你的应用程序在模拟器中启动,请按住home buton&amp;卸载它。在VS中,右键单击Project并单击Deploy。 App现在应该部署到模拟器。更改分辨率并启动应用程序。您现在应该看到OS加载了正确的图像。冲洗并重复以测试其他分辨率。

2 个答案:

答案 0 :(得分:1)

缩放是自动的。如果您的图像名称正确,并且您在模拟器中更改了分辨率,则必须重新启动应用以查看缩放图像。它不是在飞行中发生的,IIRC。

答案 1 :(得分:0)

  1. 终于搞定了。关闭应用程序并从中卸载它 模拟器。

  2. 在VS中,右键单击项目,然后单击“部署”。

  3. 更改为所需的屏幕分辨率并启动应用程序。操作系统不应该按照分辨率选择合适的图像。

  4. 冲洗并重复以各种分辨率测试图像。