c# 获取系统显示缩放比例
时间: 2024-02-05 07:04:34 浏览: 255
可以使用以下代码获取系统显示缩放比例:
```c#
using System.Windows.Forms;
float dpiX, dpiY;
using (Graphics graphics = Graphics.FromHwnd(IntPtr.Zero))
{
dpiX = graphics.DpiX;
dpiY = graphics.DpiY;
}
float scalingFactor = dpiX / 96f;
```
其中,`scalingFactor` 就是系统显示缩放比例,例如,如果缩放比例为 150%,则 `scalingFactor` 的值为 1.5。
相关问题
c# 获取系统文字显示缩放比例
可以使用以下代码获取系统文字显示缩放比例:
```c#
using System.Windows.Forms;
float dpiX, dpiY;
using (Graphics graphics = Graphics.FromHwnd(IntPtr.Zero))
{
dpiX = graphics.DpiX;
dpiY = graphics.DpiY;
}
float scalingFactor = dpiX / 96f;
if (scalingFactor > 1)
{
scalingFactor *= Convert.ToSingle(Microsoft.Win32.Registry.GetValue(@"HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics", "AppliedDPI", 96));
}
```
其中,`scalingFactor` 就是系统文字显示缩放比例,例如,如果缩放比例为 150%,则 `scalingFactor` 的值为 1.5。需要注意的是,如果系统显示缩放比例大于 100%,则还需要通过注册表获取应用的 DPI 缩放比例。
c# 获取 系统文本缩放比例
在 C# 中,获取系统文本缩放比例可以使用 System.Windows.Forms.Screen 类的 GetPrimaryMonitor 方法获取当前主显示器的 DPI 缩放比例,示例代码如下:
```
float dpiScale = Screen.PrimaryScreen.GetDpiScaleFactor().ScaleX;
```
其中,ScaleX 表示水平方向的缩放比例,ScaleY 表示垂直方向的缩放比例。如果需要获取垂直方向的缩放比例,可以使用以下代码:
```
float dpiScale = Screen.PrimaryScreen.GetDpiScaleFactor().ScaleY;
```
获取到缩放比例后,可以根据比例缩放文本大小或者其他界面元素的大小。
阅读全文