尝试在Windows Phone
Universal App
中处理多分辨率图像时,我遇到了来自Microsoft的this article。
不幸的是,它仅适用于Windows Phone 8和Windows Phone Silverlight 8.1。 使用代码示例时,他们提到:
private static bool IsWvga
{
get
{
return App.Current.Host.Content.ScaleFactor == 100;
}
}
在这种情况下,App.Current
没有Host属性 - Host可能是提到的here的SilverlightHost属性。
是否有人在8.1 Universal App
中找到了相同的方法?
答案 0 :(得分:3)
如果要处理图像缩放,则由Windows Phone 8.1
Universal Apps
中的文件夹名称处理。方法如下:
要在XAML中使用这些图像,您只需提供文件名,操作系统将完成其余工作。
<Image Grid.Row="1" Grid.Column="0" Source="wpimages/resolution.jpg" VerticalAlignment="Top" Width="100"/>
另一种方法是简单地以不同比例存储多个图像副本,并以与文件夹resolution.scale-100.jpg
,resolution.scale-240.jpg
相同的方式命名它们。您仍然可以在XAML
中将文件命名为相同。
我将在以后分享一篇关于此的文章。
答案 1 :(得分:1)
有关通用Windows应用程序的快速更新(UWP,适用于Windows 10的应用程序)。
Microsoft扩展了UWP中的自动扩展支持,现在支持更多不同的扩展(可能最完整的列表是here - 大约16种不同,从100%到500%)。
根据文章Porting Windows Runtime 8.x XAML and UI to UWP,您只需要使用100/200/400:
在大多数情况下,在所有中间规模因素下,以100% - 规模,200% - 规模和400% - 规模(按该优先级顺序)提供资产将为您提供出色的结果。
此外,UWP支持不同的限定符(语言,比例等)。 请阅读How to name resources using qualifiers (XAML)
在个人方面,我更喜欢将图像保存在一个文件夹中,只是为了让生活更轻松。很容易检查您是否拥有所有分辨率,管理图像(复制/删除/等)很容易。文件夹是Android的方式,文件名 - 对于iOS,Windows 10支持两种方式,它很棒!