vokoscreenNG在Windows高DPI缩放下的区域录制问题解析

vokoscreenNG在Windows高DPI缩放下的区域录制问题解析

【免费下载链接】vokoscreenNG vokoscreenNG is a powerful screencast creator in many languages to record the screen, an area or a window (Linux only). Recording of audio from multiple sources is supported. With the built-in camera support, you can make your video more personal. Other tools such as systray, magnifying glass, countdown, timer, Showclick and Halo support will help 【免费下载链接】vokoscreenNG 项目地址: https://gitcode.com/gh_mirrors/vo/vokoscreenNG

问题背景

vokoscreenNG是一款开源的屏幕录制工具,在Windows 11系统上运行时,当用户设置了150%的显示缩放比例时,会出现一个典型的高DPI适配问题:区域录制功能错误地使用了系统缩放后的逻辑分辨率,而非显示器的实际物理分辨率。

技术现象分析

当用户在Windows 11系统中设置了150%的显示缩放比例后,vokoscreenNG的区域录制功能会出现以下异常表现:

  1. 录制区域选择框的尺寸计算错误
  2. 实际录制的画面区域与用户选择的区域不匹配
  3. 录制输出视频的分辨率不符合预期

从用户提供的截图可以看出,虽然显示设置中实际分辨率为2560×1440,但软件却错误地使用了缩放后的逻辑分辨率进行计算。

问题根源

这个问题的本质是Windows高DPI缩放环境下常见的应用程序适配问题。Windows系统为了兼容性,提供了多种DPI感知模式:

  1. 系统DPI感知(System DPI Aware)
  2. 每显示器DPI感知(Per-Monitor DPI Aware)
  3. 无DPI感知(Unaware)

vokoscreenNG在4.5.0版本中可能没有正确处理DPI感知模式,导致在高DPI环境下获取屏幕坐标和尺寸时使用了错误的参考系。

解决方案

根据用户反馈,这个问题在vokoscreenNG 4.5.2版本中已经得到修复。对于仍遇到此问题的用户,可以尝试以下解决方案:

  1. 升级到最新版本(4.5.2或更高)
  2. 如果无法升级,可以尝试以下临时解决方案:
    • 在应用程序属性中设置高DPI兼容性模式
    • 暂时降低系统显示缩放比例
    • 使用全屏录制模式代替区域录制

技术建议

对于开发者而言,正确处理高DPI环境需要注意以下几点:

  1. 明确声明应用程序的DPI感知级别
  2. 使用正确的API获取物理像素坐标而非逻辑坐标
  3. 在Qt框架中,确保正确设置Qt::AA_EnableHighDpiScaling属性
  4. 对所有UI元素进行高DPI测试

总结

高DPI环境下的应用程序适配是现代软件开发中不可忽视的重要环节。vokoscreenNG通过版本更新解决了这一问题,体现了开源项目持续改进的优势。用户在遇到类似问题时,及时更新到最新版本通常是最有效的解决方案。

【免费下载链接】vokoscreenNG vokoscreenNG is a powerful screencast creator in many languages to record the screen, an area or a window (Linux only). Recording of audio from multiple sources is supported. With the built-in camera support, you can make your video more personal. Other tools such as systray, magnifying glass, countdown, timer, Showclick and Halo support will help 【免费下载链接】vokoscreenNG 项目地址: https://gitcode.com/gh_mirrors/vo/vokoscreenNG

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值