2

尝试处理多分辨率图像时,Windows Phone Universal App我遇到了 Microsoft 的这篇文章

不幸的是,它仅适用于 Windows Phone 8 和 Windows Phone Silverlight 8.1。使用他们提到的代码示例时:

private static bool IsWvga
{
    get
    {
        return App.Current.Host.Content.ScaleFactor == 100;
    }
}

在这种情况下App.Current,没有 Host 属性 - Host 大概是此处提到的 SilverlightHost 属性。

有没有人找到在 8.1 中做等效的方法Universal App

4

2 回答 2

3

如果要处理图像缩放,则由Windows Phone 8.1 Universal Apps. 方法如下:

windows phone 8.1 中的图像缩放

要在 XAML 中使用这些图像,您只需提供文件名,其余的由操作系统完成。

 <Image Grid.Row="1" Grid.Column="0" Source="wpimages/resolution.jpg" VerticalAlignment="Top" Width="100"/>

另一种方法是简单地拥有多个不同比例的图像副本,并以与文件夹相同的方式命名它们,resolution.scale-100.jpgresolution.scale-240.jpg. 您仍然在XAML.

以后我会分享一篇关于这个的文章。

于 2014-06-03T11:22:21.483 回答
1

关于通用 Windows 应用程序(UWP、Windows 10 应用程序)的快速更新。

Microsoft 扩展了 UWP 中的自动缩放支持,现在支持更多不同的缩放(可能最完整的列表在这里- 大约 16 种不同,从 100% 到 500%)。

根据Porting Windows Runtime 8.x XAML and UI to UWP一文,您只需要使用 100/200/400:

在大多数情况下,以 100% 规模、200% 规模和 400% 规模(按优先级顺序)提供资产将在所有中间规模因素下为您提供出色的结果。

此外,UWP 支持不同的限定符(语言、比例等)。请阅读如何使用限定符命名资源 (XAML)

在个人方面,我更喜欢将图像保存在一个文件夹中,只是为了让生活更轻松。很容易检查你是否有所有的分辨率,很容易管理图像(复制/删除/等)。文件夹是 Android 的方式,文件名 - 对于 iOS,Windows 10 支持这两种方式,这很棒!

于 2015-11-18T17:14:22.243 回答