gpt4 book ai didi

wpf - 根据计算机的 dpi 设置使用不同的图像

转载 作者:行者123 更新时间:2023-12-04 16:11:45 32 4
gpt4 key购买 nike

我在我的应用程序中使用了 16x16 像素的图像,因此在 96 的标准 dpi 设置下,我可以获得清晰的边缘并且不会自动调整大小。

当用户改变他们的 dpi 设置时,图像被放大,而且由于源文件只有 16x16,它们看起来自然很糟糕。有没有一种方法可以为特定图像源提供多个图像,并自动选择最好的图像?例如,我提供大小为 16x16、20x20 和 24x24 像素的图像,当图像的大小为 16x16 [wpf 单位] 时,那么我有一个完美匹配 96、120 和 144 dpi 的图像?

最佳答案

我能想到的最好的方法是设置 image source dynamically在运行时基于系统的 DPI 设置。在代码隐藏中,您可以像这样动态设置 -

ImageViewer1.Source = new BitmapImage(new Uri(@"\\myserver\\folder1\\sample.png"));

在您的类里面收听此事件以获取有关计算机 dpi 设置更改的通知 - Microsoft.Win32.SystemEvents.DisplaySettingsChanged .它的详细信息可以在这里找到 - System Events

此外,您可以使用以下代码获取系统 dpi 值 -
float dpiX, dpiY;
Graphics graphics = this.CreateGraphics();
dpiX = graphics.DpiX;
dpiY = graphics.DpiY;

将此逻辑移至属性,并根据属性值动态设置图像源。

关于wpf - 根据计算机的 dpi 设置使用不同的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12768350/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com