CefSharp with Chromium 在升级 v119.4.30 后将文本渲染为小

问题描述 投票:0回答:1

该应用程序在 v107+ 版本之前按预期运行。然而,从 v108 升级到 v119 后,该应用程序并没有按预期运行。使用 Chromium 的 CefSharp 使文本太小。

Chromium v108 之前:

应用程序中的文本正确显示。 文本大小符合用户期望和系统设置。 升级到 Chromium v108 及更高版本(最高 v119)后:

呈现的文本明显小于预期。 由于尺寸缩小,文本显得难以阅读或难以阅读。

Chromium 渲染文本 - 响应式

cefsharp
1个回答
0
投票

要定义方法或变量,您需要遵循以下语法:

声明一个采用 IntPtr 参数并返回 bool 值的方法

public static extern bool SetProcessDpiAwarenessContext(IntPtr dpiAwarenessContext);

声明一个保存 int 常量且值为 -1 的变量

private const int DPI_AWARENESS_CONTEXT_UNAWARE = -1;

初始化之前,调用此方法:

if (!Cef.IsInitialized)
    {
        var r = SetProcessDpiAwarenessContext((System.IntPtr)DPI_AWARENESS_CONTEXT_UNAWARE);
        if (!r)
        {
            var error = Marshal.GetLastWin32Error();
            Trace.TraceWarning($@"Error settings DPI awareness: {error}.");
        }
        Cef.Initialize(settings, performDependencyCheck: true, browserProcessHandler: null);
    }

参考链接:

https://github.com/cefsharp/CefSharp/issues/4410#issuecomment-1542363136

© www.soinside.com 2019 - 2024. All rights reserved.