关于windows系统DPI增大导致字体变大的原因分析

  最近再学习WPF开发,其中提到一个特性“分辨率无关性”,主要功能就是实现开发的桌面程序在不同分辨率的电脑上显示时,会根据系统的DPI自动进行UI的缩放,从而不会导致应用程序的失真。

  这个里面就提到了个系统DPI,这个其实在我们windows系统中(不论XP,还是vista之后的win7、win8、win10等),我们都可以设置。DPI就是指每英寸像素点数,及一英寸的长度上存在的像素数,它其实反映的是一个密度问题。windows系统默认情况下,系统DPI都是96DPI,这里还是得注意和显示器实际的物理DPI区别:1、系统DPI是操作系统定义的,可以修改 2、物理DPI,其实在显示器生产好后,就确定的。

  之前我们在系统中把系统DPI增大后,会导致字体在显示器变大,这个是为什么呢?

  下面我们就来分析下,为什么系统DPI增大后,会导致同一字体在显示器上变大。首先,我们需要知道的是,系统对同一号字体,认为尺寸都是不变的,别如9号字体的尺寸为0.1英寸,如果我们使用默认的系统DPI的值96,那么系统就会计算认为9号字体应该需要96*0.1 = 9.6个像素来显示。那么当我们把系统DPI设置成100时,同一字体尺寸不变,100*0.1 = 10 个像素来显示,而对于显示器而已,分辨率不变得情况下,就需要使用更多的像素来显示字体,这样我们看到的字自然就会变大了。

时间: 2024-10-21 10:43:51

关于windows系统DPI增大导致字体变大的原因分析的相关文章

解决UC手机字体变大的有关问题

解决UC手机字体变大的问题 UC手机浏览器在识别到页面文字很多的情况下会自动放大字体优化阅读体验,如果要关闭这个功能需要在网页头部添加: <meta name="wap-font-scale" content="no"> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="wap-font-sc

jQuery之实现页面字体变大、变小

转载请标明,http://www.gxabase.com jQuery之实现字体变大.变小,这在我们做网页的时候经常会使用的功能,以下为实现过程: 1.制作网页页面index.html,页面代码如下: <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"/> <title>jQuery training</title> <

让source insight的源代码文件显示字体变大

让source insight的源代码文件显示字体变大source insight version 4.00.0084 options->file type options->screen font->选中,然后键入yes.这样,所有的文件的字体大小都改变了. 原文地址:https://www.cnblogs.com/praiseslow/p/11478611.html

Dispatcher.BeginInvoke()方法使用不当导致UI界面卡死的原因分析

原文:Dispatcher.BeginInvoke()方法使用不当导致UI界面卡死的原因分析 前段时间,公司同事开发了一个小工具,在工具执行过程中,UI界面一直处于卡死状态. 通过阅读代码发现,主要是由于Dispatcher.BeginInvoke()方法使用不当导致的. 本文将通过一个WPF模拟程序来演示一下界面卡死的现象,并通过修改代码来解决界面卡死的问题. 希望通过对本文的学习,大家能对Dispatcher.BeginInvoke()方法有一个新的认识. 文章开篇直接给出界面卡死的示例代码

IPhone在横屏字体变大解决办法-webkit-text-size-adjust

在web app开发过程中经常会遇到IPhone在横屏的时候,字体突然放大.而在Android上到是没有这样的问题. 解决的方法,可以通过-webkit-text-size-adjust来设置.很多网站包括京东,搜狐的手机版都是这样设置的:-webkit-text-size-adjust:none.这样设置在手机横屏时不会导致字体突然变大,尤其是在iPhone上.不过这样设置有隐患,所以建议大家 -webkit-text-size-adjust:none   改成  -webkit-text-s

windows系统打补丁导致系统起不来处理

背景如下:(有几十台服务器,其中不到10台的windows server 2008 r2)1.2019年9月19日,针对windwos server 2008 r2进行安全补丁更新,打了7月.8月.9月月度安全更新补丁,结果导致2008正常启动不了,安全模式进不去.(暂不确定是哪个月的补丁引起)我这使用老毛桃的PE,可以先用PE启动看能不能识别硬盘,如果不能就得找到对应阵列卡驱动,然后在启动过程中手动加载阵列卡驱动. 2.离线操作可以用如下方法进行急救: 1.PE或者windows光盘启动服务器

安卓app中嵌入一个H5页面,当手机系统设置字体变大时,如何使H5页面的字体不会随用户自己调整的系统字体变化而变化?

webview.getSettings().setTextZoom(100);WebView加上这个设置后,WebView里的字体就不会随系统字体大小设置发生变化了. https://segmentfault.com/q/1010000006068362?_ea=1015158

使用WinSXS进行系统盘瘦身Windows 7/2008/10/2012不断变大的C盘(Windows 更新清理)

这是一款非常给力的国产良心小工具,用阿里云ECS的时候,一个C盘没多久就被坑爹的微软更新沉余文件塞满.此工具简单好用一下搞定! 操作系统: 所有 NT 6.X 内核的操作系统.比如 Windows Vista.Windows 7.Windows 8.32 位以及 64 位均支持.如果你的系统不支持,那么在运行程序时将会提示你无法清理. 运行库 需要 Visual C++ 2012 x86 运行库. 功能说明: 程序可以精简.清理.备份操作系统,其中清理部分是独一无二的.可以清理更新冗 余,精简部

Linux系统Oracle Temp01.dbf不断变大应该这样解决

Oracle安装在centos系统上,系统磁盘空间本身不是很大,运行一段时间后发现Oracle的临时表空间占用磁盘越来越大,以至于系统处于崩溃的边缘,解决该问题的方法如下: 第一步:alter database tempfile '/opt/oracle/oradata/orcl/temp01.dbf' drop;第二步:alter tablespace temp add tempfile'/opt/oracle/oradata/orcl/temp01.dbf'size 2048M reuse