首页 > 解决方案 > Xamarins 在缩放显示上形成 UWP 应用图像

问题描述

我有一台带 4k 显示屏的笔记本电脑。显示属性的分辨率设置为 3840 X 2160(推荐),比例因子再次设置为 250%,即推荐值。我的项目中的图像使用以下后缀进行缩放:

.scale-100.png .scale-150.png .scale-200.png .scale-250.png .scale-300.png .scale-350.png .scale-400.png

根据我找到的文档。

当我运行该应用程序时,图像会显示得很大,并且会关闭其余的显示。下面是一个屏幕截图:

在此处输入图像描述

如果我将比例设置为 100% - 一切都很小,但图像是正确的。这是一个屏幕截图。

在此处输入图像描述

知道如何解决这个问题吗?

标签: xamarin.formsimage-scalingxamarin.uwp

解决方案


来源于官方文档。

UWP 图像文件名可以在文件扩展名前加上 .scale-xxx 后缀,其中 xxx 是应用于资产的缩放百分比,例如 myimage.scale-200.png。然后可以在没有比例修饰符的代码或 XAML 中引用图像,例如仅 myimage.png。平台将根据显示器当前的 DPI 选择最接近的适当资产比例。

从你的屏幕上看,它看起来得到了正确的缩放图像,但是你的图像控件已经被缩放了,请尝试将Aspect属性设置为图像控件的填充。

在特定平台上设置大小

OnPlatform用于为每个平台设置特定值。例如

<StackLayout>
  <StackLayout.Margin>
    <OnPlatform x:TypeArguments="Thickness">
      <On Platform="iOS" Value="0,20,0,0" />
      <On Platform="Android, UWP" Value="0,0,0,0" />
    </OnPlatform>
  </StackLayout.Margin>
  ...
</StackLayout>

您可以StackLayout像上面的代码一样为每个平台指定边距。


推荐阅读