首页 > 其他分享 >系统之缩放

系统之缩放

时间:2023-11-22 16:44:06浏览次数:34  
标签:缩放 系统 source UI WPF 变化 DPI

先看一张图

在更改系统的百分比缩放的时候,我们的WPF程序书写好固定的宽高时,会因为这个的变化而变化。但是此时的宽高值是不变的。

因此可以认为WPF中的元素的宽高值是和系统当前的DPI相关统一的。Windows使用此来让WPF随UI的变化而变化

看似这个设计非常的好,而实际的情况是变大或变小后,UI但不能达到最初设计的那样合理布局了。

那么我们想让他在缩放变化时 而我们的UI一直就不变呢?

1   我们母窗体的大小跟随DPI放大而缩小 ,缩小而放大 你变 我变 达到不变为目的。

    变化的东西有 SystemParameters.PrimaryScreenWidth
   以及DPI变化比

PresentationSource source = PresentationSource.FromVisual(this);
// 获取缩放因子
double dpiX = source.CompositionTarget.TransformToDevice.M11;
double dpiY = source.CompositionTarget.TransformToDevice.M22;

2 此时的坐标系统又是如何变化呢? 此时的分辨率是没有变的

3 变化以后的图片资源需要重启程序,不然就会出现模糊的现象

标签:缩放,系统,source,UI,WPF,变化,DPI
From: https://www.cnblogs.com/stweily/p/17849684.html

相关文章

  • Linux系统下shell的使用
    一、什么是shell文字操作系统与外部最主要的接口就叫做shell。shell是操作系统最外面的一层。shell管理与操作系统之间的交互:等待你输入,向操作系统解释你的输入,并且处理各种各样的操作系统的输出结果。shell提供了你与操作系统之间通讯的方式。这种通讯可以以交互方式(从​​键盘......
  • 话费充值系统--专业、稳定、安全的技术
    三网话费充值系统介绍大家好,我想在这里和大家分享一下我最近开发的一个项目,那就是一个三网话费充值系统。这个系统主要是为了帮助用户更方便、更快捷地进行话费充值。技术实现在开发这个系统的过程中,我使用了一些主流的技术。首先,后端采用了Java语言,利用SpringBoot框架进行开......
  • Linux系统用户如何添加到用户组
    新增一个用户并添加到指定用户组#检查用户组是否存在,如果组存在则会输出组信息,否则没有任何输出grep<用户组名称>/etc/group#如果用户组不存在则使用如下命令新建用户组:groupadd<用户组名称>#新建用户并将其加入指定用户组,作为其主用户组(每个用户有且只有一个主用户组)useradd......
  • 陌陌头像留微信号二维码不被检测的方法,工具一键生成干扰码,屏蔽系统检测
    正常情况下我们在陌陌头像留二维码会被系统检测到的,因为它识别到了这是二维码是,就算不封号对账号权重也有营销,但是一些人想在陌陌做一些产品,比如足浴、保健品之类的,想在陌陌引流,那么留二维码头像不封号的实现就非常重要了,我制作的这个工具可以生成干扰码,就是二维码生成干扰码导致......
  • 嵌入式和移动设备系统先驱:Windows CE 彻底退役
    导读诞生于1996年的Windows嵌入式操作系统——WindowsCE(WindowsEmbeddedCompact)本月迎来了它的生命周期终点。诞生于1996年的Windows嵌入式操作系统——WindowsCE(WindowsEmbeddedCompact)本月迎来了它的生命周期终点。WindowsCE最初是Window......
  • Linux操作系统no.9
    第七章:存储管理:1.lsblk命令查看硬盘状态2.fdisk-l 命令可以查看系统所挂硬盘个数以及其分区情况3.使用fdisk命令对sdc硬盘进行分区, 输入“m”参数可以查看帮助信息,了解每个参数的具体作用,分区操作等等 输入“n”参数尝试创建新的分区 输入“p”参数查看硬盘中的分区......
  • Linux操作系统no.8
    第六章:I/O重定向1.I/O重定向案列 2.在/proc下查看进程文件 3.输出重定向,其中  > 表示覆盖, >> 表示追加 4.错误输出重定向: 5.重定向综合案例:使用echo命令重定向: ......
  • Linux操作系统 no.7
    进程管理:1.查看进程:psaux 2.ps-ef命令可以查看UID,PID,PPID等信息。 3.top命令可以查看实时动态进程 4.kill命令可以用来终止指定程序5. 6.作业控制:创建一个sleep进程,使用CTRL+c可以终止程序 ......
  • Cocos Creator 教程 : 坐标系统
    主要简单讲解下坐标系统,由于Creator是基于Cocos2dx,也就是使用OpenGL的坐标系,即原点在屏幕左下角,x轴向右,y轴向上。然后讲解下本地坐标与世界坐标,最后讲下坐标转换。点击链接加入群聊【unity/cocos交流二群】坐标系基于OpenGL坐标,也就是原点在屏幕左下角,x轴向右,y轴向上。下面讲解......
  • 系统监控命令的脚本(监控linux性能)
     ##查看剩余内存容量:[root@zabbix-agent~]#free-h|awk'/Mem/{print$4}'290M ##查看根分区的利用率(磁盘利用率)[root@zabbix-agent~]#df-h/|awk'/\//{print$5}'13%[root@zabbix-agent~]#df-h|awk'/\/$/{print$5}'13% ......