【桌搭DIY/双屏&多屏拼接】实现不同PPI下多屏下让窗口进行大小相同的跨屏移动
天钿说不定可以吃
编辑于 2024年07月22日 03:08

前言

考虑良久买了个副屏,虽然之后大概率很少会用在工作上,但是以工作作为理由来实现自己的一些小需求感觉也不是不行,更何况目前来说也确实还是偶尔会用到的嘛(指回家后远程加班)。

如果买了副屏的想实现如标题所说的可以直接跳到 实现 一栏,如果还没有买,可以看看我下面的几点建议。

1.想省钱可以DIY副屏,但是友情提示,DIY需要会的技能比想象得多,会踩得坑也比很多DIY教程说的多,一定要有心理准备,如果不想弄了半天还失败还是考虑其他方案吧。

2.如果不想DIY又想省钱,可以去找店家,这些一般都是店家从厂里拿液晶屏的货,自己组装的,优点是价格大概是能接受的,缺点是品控全看店家,售后在梦里,如果选择这种一定一定一定要全程录视频进行屏幕检测,当然具体上哪买,买之前要做什么准备工作,可以去站里搜,有挺多的。

3.主屏和副屏最好ppi一致,这样可以避免很多问题,不知道ppi是什么的自己查吧,但都能搜到这个专栏的应该也不会不知道了。

4.如果不是品牌的显示屏,买之前要去屏库网确认信息,看不懂参数就了解一下,我就是看懂了一半就下单了导致研究了半天,最后才有了这篇专栏。

实现

进入正题,以我自己的两块屏幕为例,一块27寸2k,也就是2560x1440,一块16寸2.5k(一般来说是2k,但是店家那边都叫2.5k),2560x1600,16寸的屏幕作为竖向的副屏放在主屏的左边,全部装完后是如下图效果(为了展示跨越显示不得不手机拍屏了)。

很明显,左边的窗体比右侧主屏的大,那么怎么做呢,动手算一下吧。

首先去屏库网找到你买的两块屏幕的详细参数信息,如果买太久了客服问不到,就去根据条件筛选,比如卖东西时候商家在详情页宣传的,什么IPS啊什么SRGB啊巴拉巴拉,大概是能找到的。

接着找到显示区域这个参数,因为16寸屏幕是竖装的,也就是16寸的长边对27寸的短边,所以找到16寸屏幕的宽度(较长的那一边),我这里是344.678,再找到27寸屏幕的高度(较短的那一边),我这里是335.664。通过335.664/344.678得到一个数A

然后用16/27得到数B,16和27指的是16寸和27寸。

然后A*B*2560得到一个数C,2560是主屏的宽度,这里的目的就是通过比例得到同样ppi下副屏的长边应该设置成多长。

因为副屏的比例是16:10,所以C/16*10得到数D,这样就得到了需要的副屏分辨率CxD,我这里得到的是1477x923,竖装后就是反过来,923x1477。

得到分辨率后就要设置了,但是windows没法自定义,所以就要通过显卡工具或是第三方的工具来实现自定义分辨率,这里以英伟达为例,打开英伟达控制面板,找到 更改分辨率 这一栏,点击 需要更改分辨率的屏幕,点击 自定义分辨率

点击 创建自定义分辨率

根据算出的分辨率填进去,点测试,然后点保留,回到自定义的上一级界面。

点击 启用显示屏未显示的分辨率,确保刚才设置的自定义分辨率被勾选,点击确认

打开windows系统中的显示,这里以win10为例,确保已经识别到副屏,然后选择分辨率,就会发现刚才自定义的分辨率可以设置了,选择自定义的分辨率

好了,收工

这里的流程不一定适配所有人,但是大体思路是差不多的,

这里根据比例计算分辨率的思路来自以下专栏,但是这个up讲的例子不太通用,他说的“若比例不同则需要单独测量每边长度之比”给我弄懵了很久,反复试了很多遍才找到正确的计算方式。

关于多显示器不同PPI导致的缩放问题在NVIDIA显卡下的解决方案​

本来想着就只说明一下这个up说的这句话具体体现在公式离应该长啥样,但是想了想还是把整个流程都写一遍吧。