最近遇到一些2K屏在高DPI下由于设置cef禁止缩放导致页面文件很小,看不清导致用户体验很差的问题。
为了解决这个问题,采用了控制cef缩放比例的方式来解决。
在OnBeforeCommandLineProcessing 中通过设置
double scale = GetAutoScale();
GetAutoScale()的想法是获取当前的DPI,计算一个合适的缩放比率,来保证页面显示正常。
command_line->AppendSwitchWithValue("--device-scale-factor", to_string(scale)); 来获取适应的DPI。
针对某些非2K屏,可以使用command_line->AppendSwitchWithValue("--force-device-scale-factor", "1"); 来禁止缩放。