duilib适配高分屏

  • 高分屏(高DPI)适配
    • 适配原理(duilib)
    • 适配例子

高分屏(高DPI)适配

随着PC设备高分屏的越来越普及,PC端客户端软件也需要适配一下高分屏幕。在没有专门适配高分屏的情况下,普通软件界面看起来尺寸很小,操作体验大打折扣。Win10上微软提供了系统级的高分屏适配,但是缺点就是适配会导致软件上字体模糊、图片锯齿等。为了提高PC软件在高分屏上的使用体验,需要软件专门适配一下。

适配原理(duilib)

软件高分屏适配原理,就是禁用系统的DPI适配,自己检测系统DPI变化,然后等比缩放软件界面尺寸和界面元素尺寸,主要是界面上的字体和图片。duilib做为一个封装好的UI库,提供动图布局支持和资源管理器支持,所以适配DPI的时候只需要把布局计算、字体加载、图片加载的地方做好DPI适配即可。
1、界面布局适配:GetFixedXY、GetPadding、GetFixedWidth、GetFixedHeight、GetMinWidth等布局计算接口;
2、图片适配:PaintManager里面提供重建字体的接口ReloadAllDrawInfos,重建时会重新加载TDrawInfo,TDrawInfo的Parse接口里面判断DPI加载对应的图片资源;
3、字体适配:PaintManager里面提供重建字体的接口ReloadAllFonts,在里面可以根据DPI重建字体资源;

适配例子

以上例子的完整源码可以通过开源平台下载:
github:https://www.github.com/qdtroy/DuiLib_Ultimate
码云:https://www.gitee.com/qdtroy/DuiLib_Ultimate

学习交流QQ群:261851826、261675375、 199950533
有问题可以联系QQ:656067418或者邮件 qdtroy@qq.com

duilib适配高分屏(高DPI适配)相关推荐

  1. QT自动适配高分屏的解决方案

    使用QT在开发桌面程序的时候,很多时候需要涉及到高分屏的适配问题.如果之前没有做过高分屏适配可能会遇到很多问题,这里提供一套方便的QT高分屏适配方案供大家参考.在适配高分屏的时候需要考虑两个要求: 1 ...

  2. 关于DuiLib高DPI适配问题

    在某些情况下,虽然在高DPI的设置下DuiLib能正常的缩放,但是缩放后的显示效果很不好,文字图片显示模糊,影响用户体验,经过多次试验,解决办法如下: 在工程文件设置中,对相应工程做属性设置: 一 在 ...

  3. HMI-7-[高分屏支持]:Qt 适配高分屏

    基于Qt的汽车仪表模拟 照例,还是先上效果图,宣传哈哈哈哈哈 今天学到一个新东西,就是Qt对高分屏的支持,即高DPI的支持,有个Qt写的软件在老板的SB2上运行出现了显示异常,因为老板的电脑分辨率是3 ...

  4. PyQt5适配高分屏的方法

    1.高分屏带来的显示问题 高分屏指的是显示屏的单位面积像素较高的屏幕,最后换了一个thinkbook笔记本,屏幕的dpi为144,原来的写的pycom串口助手(https://blog.csdn.ne ...

  5. react手机机端css_react工程搭建系列之---移动端适配与antd-mobile高清适配方案

    一.逻辑像素(css像素)与物理像素(设备像素) 机型 逻辑像素 物理像素 Scale Factor iphone 3GS 320 x 480 320 x 480 1x iphone 4 320 x ...

  6. 2k,4k 高分屏显示器DPI缩放检测完整版

    最近在做高DPI显示器的适配,由于很多用户不知道自己的显示器是否有dpi缩放.于是做了这么个小工具,专门用于系统dpi缩放参数的检测. 程序下载:链接: https://pan.baidu.com/s ...

  7. 不是吧,谷歌浏览器也有问题?连CSND都没有逃过的厄运?两个元素之间明明没有间距,哪来的迷之白线?高分屏的DPI设置引发的血案

    从所周之,谷歌浏览器应该是最靠谱的浏览器之一.但是偶尔会发现一些迷之白线(间距),换一台机器或者手机,就消失了,就没有放在心上. 在写这编文章,发表的时候,发现连CSDN都没有逃过这个厄运,请看下图. ...

  8. ubuntu20.04使用微信,附高分屏适配方法

    ubuntu20.04使用微信 在知乎上看到一种比较好的在Ubuntu上使用微信的方法,使用的是优麒麟封装的wine. 作者:古德曼汽车工业 链接:https://zhuanlan.zhihu.com ...

  9. 高分屏、分辨率、DPI、PPI,及 Qt 处理高分屏

    简 述: 高分屏.DPI.PPI.屏幕分辨率的一些基本知识,以及使用 Qt 处理高分屏的一些方法集合归纳. 文章目录 基础 方案 Ref 本文初发于 "偕臧的小站",同步转载于此. ...

最新文章

  1. 什么是XLNet中的双流自注意力
  2. 中专学校的计算机教什么,中专计算机学校
  3. Linux常用命令全名
  4. 进口配额管理和出口配额管理_SAP采购管理模块中的quot;配额协议quot;应用详解...
  5. Linux基础优化方法(一)———优化命令提示符和yum源仓库
  6. 删除某个时间段之前的文件
  7. 02-图像的几何变换
  8. c++ 1:非MFC工程使用MFC库时的问题及解决办法(如果要用CString或者提示windows头文件重复包含)...
  9. python 基础之文件
  10. UWP 流畅设计中的光照效果(容易的 RevealBorderBrush 和不那么容易的 RevealBackgroundBrush)...
  11. 国家中长期教育改革和发展规划纲要(2010-2020年)
  12. [CareerCup] 12.6 Test an ATM 测试一个自动取款机
  13. Kettle Spoon入门学习
  14. 三次hermite插值多项式例题_hermite插值例题
  15. 中英文状态的符号转换
  16. 职业规划-IOS开发工程师(待完善)
  17. 云原生时代,如何保证容器镜像安全?
  18. Java实现交叉表_Sql交叉表简单实现 | 学步园
  19. 关于localhost404打不开
  20. mybatis实现动态模糊查询

热门文章

  1. ARINC619 COP(chapter3)简介
  2. IntelliJ IDEA上debug模式启动
  3. vue实现鼠标移入移出事件
  4. 什么是张量(tensor)?
  5. 信而泰耦合测试-网络测试仪实操
  6. Nginx返回411错误
  7. BLS 签名和基于 BLS 签名的门限签名
  8. 小程序学习笔记--进阶之路
  9. mysql和ES对比
  10. 梦幻西游藏宝阁不显示服务器,梦幻西游玩转藏宝阁 全服搜索功能体验 17173.com网络游戏:《梦幻西游》专区...