我对WPF在不同DPI设置下处理图像渲染大小的方式感到很困惑。
所以我的目标是让我的WPF应用程序中的PNG图标清晰显示在默认的100%Windows DPI设置(96 DPI)以及125%(120 DPI),150%(144 DPI)和200 %(192 DPI)支持越来越流行的高分辨率2K和4K显示器。
所以这就是我一直在测试的:
Image
控件加载了所有4个,如下所示:
<StackPanel>
<Image Source="image_96_dpi.png" Stretch="None" />
<Image Source="image_120_dpi.png" Stretch="None" />
<Image Source="image_144_dpi.png" Stretch="None" />
<Image Source="image_192_dpi.png" Stretch="None" />
</StackPanel>
96,120和192 dpi的结果是有意义的,它们都可以正确缩小,但我不知道144 dpi图像是如何渲染为32 x 32的.dpi实际上是150%到默认的Windows dpi,但它呈现为96 dpi图像。
这是某种错误吗?