在用于WPF应用程序的PNG文件中设置正确的DPI

时间:2015-09-04 03:43:28

标签: wpf dpi image-scaling

我对WPF在不同DPI设置下处理图像渲染大小的方式感到很困惑。

所以我的目标是让我的WPF应用程序中的PNG图标清晰显示在默认的100%Windows DPI设置(96 DPI)以及125%(120 DPI),150%(144 DPI)和200 %(192 DPI)支持越来越流行的高分辨率2K和4K显示器。

所以这就是我一直在测试的:

  1. 我有一个32 x 32 PNG图像的4种变体,它们分别设置为96,120,144和192 DPI。
  2. 我使用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>
  3. 我得到的渲染结果如下:
    • image_96_dpi.png的渲染大小:32 x 32
    • image_120_dpi.png的渲染大小:26 x 26
    • image_144_dpi.png的渲染大小:32 x 32
    • image_192_dpi.png的渲染大小:16 x 16
  4. 96,120和192 dpi的结果是有意义的,它们都可以正确缩小,但我不知道144 dpi图像是如何渲染为32 x 32的.dpi实际上是150%到默认的Windows dpi,但它呈现为96 dpi图像。

    这是某种错误吗?

0 个答案:

没有答案