精易论坛

标题: 解决一切软件 发虚 模糊 问题 [打印本页]

作者: 荼泱    时间: 2018-11-17 15:25
标题: 解决一切软件 发虚 模糊 问题
本帖最后由 亦寒龙 于 2018-11-17 15:31 编辑

屏幕分辨率在2K以上的朋友都会发现,易语言编译出来的程序字体以及组件严重发虚,包括自绘的。
归根结底是因为软件不支持高分辨率导致的。包括易语言程序本身也是这样子的。
以下对比左边是支持高清分辨率,右边是不支持的。看不出来效果请自行放大到100%
下图和windows自带程序对比,各位可以自己看一下。



下图为支持高清分辨率的易语言程序和不支持的对比。


下图为自绘界面对比


最后给各位看一下系统显示配置。


下方开始解决



易语言解决方法


什么没看懂?我也想把这个操作做成源码给你们,可是易语言并没有这种操作,如果有那位大佬可以做成源码自然是更好的。

下方为C#解决办法



删除注释 也就是圈着的两处文字。
易语言代码
  1. <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" >
  2.   <asmv3:application>
  3.     <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
  4.       <dpiAware>true</dpiAware>
  5.     </asmv3:windowsSettings>
  6.   </asmv3:application>
  7. </assembly>
复制代码


最后附上易语言支持高分辨率的成品
Desktop.zip (327.6 KB, 下载次数: 79)

作者: 荼泱    时间: 2018-11-17 15:37
本帖最后由 亦寒龙 于 2018-11-17 15:38 编辑

最后还是有问题加群问我:703623743
希望各位易友能够海纳百川,要能接受 易语言的优缺点,
没有完美的人也没有完美的语言。要能接受易语言所带来的不足,
也能接受其它语言的优点,并且能试着去修复不足 这才是一个易粉应该做的事情,
而不是去喷击别人指出的不足。

作者: haishifu    时间: 2018-11-17 16:00
不是易语言不足  不信,你试试



把你的缩放与布局 的 文本比例 改为正常的100% 就知道是不是易语言的不足了。

在看看你的测试截图?  有没有发现模糊的矩形变大  清的变小?
没猜错的过,你只是通过设置把系统的缩放125%给忽略了

另外缩放125%一般是显示器较小,又用高分辨率导致的系统默认设置
会造成许多软件运行错误  或者显示过于细节而非模糊 导致显示异常    屏幕取图异常等等各种异常
一般人甚至不会设置   一味追求高分辨率不考虑显示器大小

还不如给它来个调整到正常的100%的要实用

作者: 荼泱    时间: 2018-11-17 16:23
本帖最后由 亦寒龙 于 2018-11-17 16:28 编辑
haishifu 发表于 2018-11-17 16:00
不是易语言不足  不信,你试试

我的帖子是解决这个问题,不是把问题抛给用户。变小的问题应该去解决,而不是你在这里职责用户。我用C# 不会变小,易语言会变小。这个原因我也不是很清楚。

作者: haishifu    时间: 2018-11-17 16:39
亦寒龙 发表于 2018-11-17 16:23
我的帖子是解决这个问题,不是把问题抛给用户。变小的问题应该去解决,而不是你在这里职责用户。我用C#  ...

可能是因为你用的c# 默认方式就是忽略window的组件策略

变小是因为  那个大小本来就是100%比例的大小   大的是放大到125%了  但实际上窗体的像素大小就是原本的大小    窗体像素不变 放大自然是会模糊
这个不是重点
重点是125%的缩放比例,异常的多了去了   比如你屏幕截图  截图出来的图片是有异常的  再比如一些ppt  等等各种软件 都会异常
我的意思是你忽略window的组件策略 仅仅为了显示正常  还不如直接修改 window缩放比例到默认的100%或者弹出个  -温馨提示。

作者: ermituofo    时间: 2018-11-17 17:26
效果不好。很多地方界面错乱!
作者: 来此一游    时间: 2018-11-17 18:05
尴尬了 居然是成品
作者: 荼泱    时间: 2018-11-17 18:13
本帖最后由 亦寒龙 于 2018-11-17 18:24 编辑
haishifu 发表于 2018-11-17 16:39
可能是因为你用的c# 默认方式就是忽略window的组件策略

变小是因为  那个大小本来就是100%比例的大小  ...

你说的让用户改这个不现实,笔记本用户就是小屏幕高分辨率,必须放大要不然看不清楚。就看哪位大神能做出源码,判断用户的放大比,发大过的开启这个功能,没放大的关闭。
易语言要想做出好的用户程序,这一点必须要解决。

作者: haishifu    时间: 2018-11-17 19:05
亦寒龙 发表于 2018-11-17 18:13
你说的让用户改这个不现实,笔记本用户就是小屏幕高分辨率,必须放大要不然看不清楚。就看哪位大神能做出 ...

咋跟你说话那么费劲  我有说让用户改么?  你不会用代码直接改?
所以我说了 “ 一味追求高分辨率”  不考虑你的显示器只有十五六寸??
而且这和易语言本身有关么?
作者: 一把小钢刀    时间: 2018-11-17 19:31
这个自绘不是你的吧,是未闻花名的
作者: 荼泱    时间: 2018-11-17 19:36
一把小钢刀 发表于 2018-11-17 19:31
这个自绘不是你的吧,是未闻花名的

我只是拿来做对比的
作者: 荼泱    时间: 2018-11-17 19:36
haishifu 发表于 2018-11-17 19:05
咋跟你说话那么费劲  我有说让用户改么?  你不会用代码直接改?
所以我说了 “ 一味追求高分辨率”  不 ...

修改?我笔记本要不要看东西了?这么小的字
作者: 沐紫萌    时间: 2018-11-17 20:01
然并卵,没有任何不一样
作者: a135123    时间: 2018-11-17 21:06
看一下,顺便谢谢

作者: haishifu    时间: 2018-11-18 05:01
亦寒龙 发表于 2018-11-17 19:36
修改?我笔记本要不要看东西了?这么小的字

那是你的原因了   十四五寸的大小用那么高的分辨率  然后再放大  你还不如把分辨率缩小然后恢复正常的100%呢   别跟我说你玩游戏就要用那高分辨率啥的  右键属性 兼容性 显卡驱动设置  这些 是你玩的不够熟悉么?   
作者: 指尖流淌    时间: 2018-11-20 09:55
支持下,谢谢分享
作者: 小彩云    时间: 2018-11-29 17:03
这个很实用
作者: JDdingzhi    时间: 2018-12-4 02:20
这个东西没必要写进项目里,因为你永远不知道你的客户用的什么电脑
作者: hetmly    时间: 2018-12-8 11:53
谢谢分享啊
作者: 遵义静以修身    时间: 2018-12-20 21:32
很厉害的样子哦
作者: Tioven    时间: 2019-5-17 20:56
这样子做窗口内的控件就不是Win10的样子了不好看SetDpiProcessAware这个Api你值得拥有




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4