首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

将 UWP 的有效像素(Effective Pixels)引入 WPF

而有效像素(Effective Pixels,本文记其为 epx)就是本文从 UWP 中引入的尺寸概念。...当我们说按钮的有效像素宽度为 200 时,指的是你在 WPF 的 XAML 或 C# 代码中写下了 Width="200"。...吐槽 DIP WPF 曾经说自己用的是“设备无关单位”(DIP),愿景是在所有显示器上显示的物理尺寸相同。比如你在代码中写了 Width="96" 的按钮,那么在所有显示器上其尺寸为 1 英寸。...非理想状态下,1 有效像素等于显示器点对点显示像素时,1 屏幕像素乘以系统 DPI 值除以 96。 WPF 和 UWP 的尺寸单位都可以用有效像素来理解,而这本身就是它们两个框架内建的单位系统。...谈显示器像素个数: 用户使用了最佳分辨率 在 DPI 值为 96 时,显示完按钮宽度所用的屏幕像素个数为 96 DPI 值设置为 192 时,则显示完按钮宽度所用的屏幕像素个数是 192 在以上情况下

1.5K21

Windows 下的高 DPI 应用开发(UWP WPF Windows Forms Win32)

▲ 自定义 DPI 设置 自 Windows 8.1 开始,操作系统开始可以设置不同屏幕的 DPI 值了: ▲ Windows 10 中的多个屏幕选择 ▲ Windows 10 中针对每个屏幕的...DPI 设置 如果用户在设置中更改了系统 DPI 值或屏幕 DPI 值,那么 Windows 系统会提示需要注销才会应用修改。...现在,你可以通过在设置中打开一个开关,使得无需注销,只要重新打开应用即可让此应用获取到最新的系统 DPI 的值。...方法是:打开“设置” -> “系统” -> “显示器” -> “高级缩放设置”,在“高级缩放设置”上,打开“允许 Windows 尝试修复应用,使其不模糊”。...额外的,对于 Windows 8.1 及以上的系统,系统 DPI 值等于主屏在系统启动时的屏幕 DPI 值。

92050
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    为.NET应用添加截图功能

    截图的功能我们应该都经常使用,在开发软件时,我们有时也或多或少需要提供这方面的功能,无论是为用户更方便提供远程诊断,还是获取用户的选择区域,亦或是提供某些功能上的辅助。...自行开发 自行开发的原理也非常简单:创建一个半透明的全屏无边框窗体,记录鼠标在窗体上的框选矩形位置,使用CopyFromScreen获取该位置的屏幕图片即可。...库里也提供了截图工具 FrmCapture,没中不足的是,在多显示器场景下会报错,无法正常使用,代码库也有 4 年没有更新了。...ScreenCapturerSharp[4] 虽然也可以实现截图功能,但都无法处理多显示器的场景。...最后直到我前几天发现 Microsoft Learn 的文章 启动屏幕截取 - UWP applications[5]。在 UWP 里使用这么简单嘛,使用 LaunchUriAsync 就可以了。

    92320

    关于WinForms的跨显示器DPI自适应

    这个值越高,表示屏幕的显示能力越细腻。 但也意味着,要显示物理尺寸和低PPI屏幕相同的画面,高PPI屏幕需要更多的像素来填充。...我们可以通过下图的设置搭配,解决很多老程序的DPI适配。但是很难做到跨屏幕DPI自适应。 ? ?...所谓跨屏幕DPI自适应(Per Monitor-DPI aware),意思就是当你的电脑有外接屏幕时,Windows会选择适配该屏幕的DPI来显示外接屏幕的图像。...例如,用 Surface Pro 外接一个 1920x1080 的22寸显示器,那么Surface的主屏幕通常是 150%以上DPI,而外接显示器是100%。...首先,我在VS2019中使用150% DPI的主屏幕,设计器视图不模糊,但按钮尺寸有问题,控件位置如下: ? 留意红色箭头位置。在VS里一切正常。

    2.6K20

    准确判断一个 WPF 控件 UI 元素当前是否显示在屏幕内

    如果用户有多台显示器,而且大小还不一样,那么依前面的判定方法,下图中 C 控件虽然人眼看在屏幕外,但计算所得是在屏幕内。 更复杂的,是多台显示器还不同 DPI 时,等效屏幕尺寸的计算更加复杂。...即便是 WPF 项目,我们也需要引用 Windows Forms,用于获取屏幕相关的信息。...关于 DPI 感知设置的问题,可阅读我的其他博客: Windows 下的高 DPI 应用开发(UWP / WPF / Windows Forms / Win32) - walterlv 支持 Windows...代码版本 偷懒版 日常版 苛刻版 基础判断屏幕内外 ✔️ ✔️ ✔️ 高分屏(非 96 DPI) ✔️ ✔️ ✔️ 整齐排列的多屏 ✔️ ✔️ ✔️ 元素带有旋转 ❌ ✔️ ✔️ 多屏尺寸不统一 ❌ ❌...✔️ 多屏有不同 DPI(WPF 感知系统 DPI) ❌ ❌ ✔️ 多屏有不同 DPI(WPF 感知屏幕 DPI) ❌ ❌ ✔️ 多屏有不同 DPI(WPF 感知屏幕 DPI V2) ❌ ❌ ✔️ 纯

    74340

    px、em、rem区别 pt ppi dpi vw vh

    大量不同颜色点组成一张图像,因此图像的基本单位是像素px(没有比像素更精细的单位了)。 像素主要用来表示图像大小和显示器分辨率(如1920*1080px)。...在高密度的屏幕上像素会变小,显示效果更清晰。因为“像素量px = 像素密度ppi x 屏幕尺寸in”,同样是1英寸的屏幕,密度越大,像素越多,则单个像素的物理尺寸越小。...显示器分辨率指显示器所能显示的像素多少(1920px1080px),显示器可显示的像素越多,画面就越精细,因为屏幕尺寸一定,分辨率越大,像素密度越大。...显示器分辨率都用(1920px1080px)这种形式表示,清晰度还需要结合屏幕尺寸计算。...图像分辨率则是单位英寸中所包含的像素点数,比如photoshop 里新建画布时设置的图像分辨率72ppi,其定义更趋近于分辨率本身的定义 注意: 同一显示屏上查看图片,像素量越大,图片尺寸越大。

    76540

    运维:推荐一款开源免费的多显示器管理工具Dual Monitor Tools

    一、软件简介 Dual Monitor Tools是一款源免费的多显示器管理工具。...通过该工具可以实现屏幕间移动窗口的热键、限制鼠标/光标在屏幕间移动、应用程序启动器、显示器壁纸个性化设置以及屏幕截图工具等功能。并且安装包大小不到1M。非常节省电脑资源的占用。...2.2 Cursor - 光标 DMT Cursor是一款控制鼠标光标在多显示器间移动的工具。用户可设置光标为自由模式、粘滞模式或锁定模式。...2.3 Launcher - 启动器 Launcher是一款通过快捷键快速启动应用程序并将其定位在多显示器预设位置的实用工具。用户可为每个应用设置“魔法词”并定义多达四个启动位置。...用户可设置在何时以及多久更换一次壁纸,并指定多显示器的处理方式,如统一图片、各显示器不同图片等。 此外,工具提供多种图片格式选项,以确保最佳显示效果。

    14330

    电脑显示器尺寸对照表_显示器选购攻略

    当用电脑来放松娱乐时,一个好的显示器则是必不可少的,看VCD时画面稳定;玩游戏时现场逼真,有一种身临其境的感觉,那种感觉一定特棒,这一切都取决于你选择的显示器品质的高低,对显示器的知识有一个综合的了解无疑会对你有所帮助...1、屏幕比例和分辨率 首先来说说屏幕尺寸和分辨率,目前市场上主流的显示器尺寸从19寸到43寸不等,屏幕比例可以划分为宽屏(16:9)、黄金屏(16:10、3:2)、传统屏(4:3、5:4)、带鱼屏(21...,由于同尺寸下,16:9宽屏相比4:3等传统屏幕面积更小,达到同一亮度所需的背光模组也更少,对于显示器厂商来说能省下不少钱,因此主流的屏幕比例从8年前开始慢慢演变为了16:9。...对于特殊要求,如瞬息万变的电竞对抗中,就需要快速更新场景画面,因此出现了144Hz甚至更高刷新率的显示器,这些显示器不仅价格较高,很多还需要高端显卡的配合。...对于长宽比不同的显示器,例如16:9和超宽的21:9显示器,尺寸对比并不能直接反应两者屏幕面积大小,只需要知道同一“尺寸”下,屏幕越接近正方形,实际显示面积越大即可。

    8K10

    Rectangle Pro for Mac(窗口布局增强工具) 3.0

    Rectangle Pro是一款Mac上的窗口管理工具,它可以帮助用户更加高效地管理和布局窗口。用户可以通过快捷键或者鼠标手势来实现窗口的调整和布局,包括窗口的移动、调整大小、屏幕分割等操作。...此外,Rectangle Pro还支持多显示器,可以将窗口在多个显示器之间进行移动和布局。它的简单易用和高效性,使得用户可以更加专注于工作,提高工作效率。...,如分屏、四格、六格等。...自定义窗口尺寸和位置:用户可以自定义窗口大小和位置,也可以设置固定大小窗口的位置和大小。 窗口拖放调整大小:支持鼠标拖放调整窗口大小。 快速切换窗口:支持快速切换窗口焦点,以提高工作效率。...多显示器支持:支持多个显示器,可以在不同的显示器上进行窗口布局。 自动化窗口管理:可以根据应用程序类型自动设置窗口布局,提高工作效率。 显示器预览:提供显示器预览功能,便于用户管理和布置窗口。

    82520

    Windows微信DPI适配

    一、背景 随着近些年屏幕设备的不断发展,各种显示设备的分辨率也越来越高,在尺寸保持基本不变的情况下,分辨率越高,设备的DPI也越高,清晰度也就越高。...同样的图片,在显示器B上只占用了1/4面积的屏幕。 B的DPI是A的2倍,在默认处理下,实际的显示效果是:图片在A上显示的宽和高分别是B上的2倍。...面板DPI是不变的,OS DPI是可以通过设置改变的,并且应用中获取到的DPI是OS DPI。那么用户就可以通过改变OS DPI来实现缩放系统界面元素和应用界面。...需要注意的是,如果程序是一个DLL,则Manifest中的设置会被忽略。...这一部分主要工作就是将原先代码中动态设计算的尺寸与缩放因子相乘得到缩放后的尺寸。 对于代码中使用的常量尺寸,在定义的时候可以考虑#define而不是const常量。

    5.8K90

    dotnet 从入门到放弃的 500 篇文章合集

    C# 判断系统版本 C# 动态加载卸载 DLL C# 复制列表 C# 如何写 DEBUG 输出 C# 如何在项目引用x86 x64的非托管代码 C# 已知点和向量,求距离的点 C# 强转会不会抛出异常...C# 很少人知道的科技 C# 快速释放内存的大数组 C# 搜索算法 C# 获得设备usb信息 C# 转换类型和字符串 C# 遍历枚举 C# 金额转中文大写 C#将dll打包到程序中 c-70 c-设计模式...win10 uwp 获取文件夹出错 win10 uwp 获得元素绝对坐标 win10 uwp 获得缩略图 win10 uwp 萤火虫效果 win10 uwp 让焦点在点击在页面空白处时回到textbox...中 win10 uwp 设置 HttpClient 浏览器标识 win10 UWP 访问网页 win10 uwp 读写csv win10 uwp 读写XML win10 uwp 调试软件启动 win10...win10-uwp-应用转后台清理内存 win10-uwp-弹起键盘不隐藏界面元素 win10-uwp-快捷键 win10-uwp-截图-获取屏幕显示界面保存图片 win10-uwp-打包第三方字体到应用

    10.5K20

    Linux(含麒麟操作系统)如何实现多显示器屏幕采集录制

    技术实现xrandr本文我们要讨论的是,如何在Linux平台实现多显示器的屏幕采集录制。我们知道,Linux下,X Window Sysem支持多显示器的配置和显示器列表获取。...例如,如果你连接了多个显示器,这个命令可以帮助你确定哪些显示器是处于活动状态的,以及它们的具体配置。 帮助配置多显示器 对于使用多显示器的用户来说,这个命令非常有用。...它可以让你了解当前的显示器布局,以便更好地进行配置和调整。你可以根据命令输出的信息,使用其他 xrandr 命令来设置显示器的分辨率、位置、旋转等参数,实现个性化的多显示器设置。...XRRMonitor id, 采集X屏幕时使用* xrr_monitor_id: -1:采集所有屏幕, SDK默认为-1....NT_PB_SetCaptureXRRMonitor()设置要采集的XRRMonitor id, 采集X屏幕时使用。

    18010

    全民K歌折叠屏适配探索

    目前以华为、三星生产的设备为代表。 屏幕折叠主要分:内折、外折、两折、多折等不同折叠方式。当屏幕发生折叠、展开等行为时其尺寸与屏幕物理特性会发生变化,这种情况对现有的应用或多或少都会产生一些问题。...其主要在一些作品的展示上有问题,这是因为K歌在代码中针对当前的屏幕高宽在初始化逻辑中做了一些固化的高宽设置。...简单来说,其效果还是如分屏模式的效果类似,但同一屏幕的两半展示的均为同一应用的不同Activity。...另外:华为手机外接hdmi到显示器后的状态也算是多显示器的应用,不过其采取的是兼容模式运行。 ? Android 10 (API 级别 29) 或更高版本 支持辅助显示屏上的 Activity。...总结‍ 可以看出Google也在每次的版本更新中不断对不同的屏幕进行适配,从刘海、挖孔调整顶部状态栏高度、安全区域,再到折叠屏、多显示屏、多应用分屏等不同场景。

    2.5K30

    大佬用 WinUI 3 和 WPF 做了一个开源的动态壁纸软件

    Lively Wallpaper Lively 是一个动态壁纸软件,完全开源且免费,主要由 Dani John 开发,支持让用户设置动画桌面壁纸和屏幕保护程序,支持多显示器。...使用 Lively Wallpaper 非常简单和方便,它还支持设置图片,视频,网页,Unity、Godot 游戏作为壁纸。...屏幕保护程序 Lively 还支持设置 Windows 屏幕保护程序。 自动化 Lively 还可以通过传入命令行参数的方式控制壁纸和自定义。...Lively API Lively 提供了强大的 API,很方便的获取鼠标、键盘等事件,以及系统信息,可以让开发人员创造交互式的壁纸。...开发历程 实际上 Lively 已经开发几年了,不过这个开发过程相当的魔幻,作者为了追求高性能和流畅度, 这几年按照 Winform -> WPF -> UWP -> WinUI3 的顺序重写了

    79560

    WPF 稳定的全屏化窗口方法

    本文来告诉大家在 WPF 中,设置窗口全屏化的一个稳定的设置方法。在设置窗口全屏的时候,经常遇到的问题就是应用程序虽然设置最大化加无边框,但是此方式经常会有任务栏冒出来,或者说窗口没有贴屏幕的边。...Win32 消息,在消息里面获取显示器信息,根据获取显示器信息来设置窗口的尺寸和左上角的值。...可以支持在全屏,多屏的设备上稳定设置全屏。...,然后就跳到主屏了 获取窗口的现在的矩形,用来计算窗口所在显示器信息,然后将显示器的范围设置给窗口 //获取窗口现在的矩形,下面用来参考计算目标矩形...,此类型依赖一些 Win32 方法的定义,这部分我就不在博客中写出,大家可以从本文最后获取所有源代码 /// /// 用来使窗口变得全屏的辅助类 /// 采用设置窗口位置和尺寸

    4.9K20

    win7下虚拟显示器完成记(virtual monitor)——VDI显卡透传场景「建议收藏」

    ,一台服务器需要插十几张显卡(消费级显卡),不可能给每个显卡插一个显示器,不插显示器又会存在分辨率无法设置,分辨率过低的问题,为此需要自己虚拟一个显示器“插”在透传显卡上。...(更细致的型号支持,需要进一步接受市场考验); (2)通过WDDM过滤驱动实现了win7下的高效截屏,同时能获取到屏幕变化区域; (3)突破了在windows7上对Aero效果高效截屏和D3D全屏(独占模式...虚拟显示器我在7月份的时候做完了,下一步要做的就是把虚拟显示器的屏幕数据截获并远程传递给客户端显示,做完后为了更快的看到效果和进行试点,最开始我获取屏幕数据采用mirror驱动方式, mirror驱动是...拷贝速度慢问题: 做了1-2个星期,几乎把WDDM文档都看烂了,上面列举的这些问题大都解决了,我可以在WDDM过滤驱动获取到我想要的图片信息了,并且可以对显卡的Framebuffer进行修改了,比如给屏幕加个水印什么的...其他问题: 我这里支持介绍了个大概,如果有开发这类遇到问题可以留言咨询,我会尽力解答,开发这个东西遇到的坑是相当相当多的,我一直坚信,别人(displaylink)能实现,开发过程中遇到的任何问题肯定是有解决方法的

    4.6K20

    戴尔U3223QZ深度体验:生产力工具的多元进化

    提到“显示器”的时候,你脑海里会浮现出哪些词汇?分辨率、刷新率、尺寸、亮度、色准、对比度、功耗等技术性名词,可能是大多数人给出的答案。就像“显示器”的字面意思,最直接的作用就是显示。...在使用戴尔U3223QZ的过程中,让人印象最为深刻的是:无论从哪个视角去看屏幕,几乎没有感受到色彩的差异,这是我们在其他显示器上从未有过的体验。...也就是说,如果从生产力工具的维度评判显示器,本身的屏幕素质是“专业度”的重要参考指标,“体验感”在潜移默化中带来的生产力提升,同样是不可或缺的选项,兼顾专业与效率可以说是显示器的新价值标准。...65°、78°或90°等视野可供选择;录制需要真人出镜的视频时,甚至不需要购买专业的录像设备,戴尔U3223QZ的4K摄像头足以满足大多数情景下的需求……我们对显示器角色的理解,由此出现了深刻变化,既要是工作中的生产力看板...作为办公场景中的核心一环,显示器自然要跳出“显示单元”的旧定位,积极拥抱协同办公的新风向,满足极致视觉体验的前提下,帮助用户获取更大的生产力,不断释放生产力工具的多元价值。

    34400

    戴尔U3223QZ深度体验:生产力工具的多元进化

    撰文 / 张贺飞 编辑 / 沈菲菲 提到“显示器”的时候,你脑海里会浮现出哪些词汇? 分辨率、刷新率、尺寸、亮度、色准、对比度、功耗等技术性名词,可能是大多数人给出的答案。...在使用戴尔U3223QZ的过程中,让人印象最为深刻的是:无论从哪个视角去看屏幕,几乎没有感受到色彩的差异,这是我们在其他显示器上从未有过的体验。...也就是说,如果从生产力工具的维度评判显示器,本身的屏幕素质是“专业度”的重要参考指标,“体验感”在潜移默化中带来的生产力提升,同样是不可或缺的选项,兼顾专业与效率可以说是显示器的新价值标准。...65°、78°或90°等视野可供选择;录制需要真人出镜的视频时,甚至不需要购买专业的录像设备,戴尔U3223QZ的4K摄像头足以满足大多数情景下的需求…… 我们对显示器角色的理解,由此出现了深刻变化,既要是工作中的生产力看板...作为办公场景中的核心一环,显示器自然要跳出“显示单元”的旧定位,积极拥抱协同办公的新风向,满足极致视觉体验的前提下,帮助用户获取更大的生产力,不断释放生产力工具的多元价值。

    31520

    请教了DeepSeek,才知道居然真的有适合程序员用的编程显示器。。

    于是我问了 DeepSeek,有哪款"适合编程"的外接显示器可以推荐 我的需求很简单: 4K 分辨率:代码字体必须锐利不模糊 黄金尺寸:28 英寸左右,拒绝带鱼屏侵占桌面 MacBook Pro 外接友好...与传统 16:9 显示器对比,28 英寸 3:2 屏高出的 8cm 的垂直空间。 这样在编辑器就能多显示几十行代码,减少屏幕滑动频率,提高生产力。 再之后,我又深度使用了几天,发现这个屏幕还真不错。...无论是尺寸大小、显示效果,还有一些贴心的小设计,都深得我心。 尤其是内置好的编码主题(专用色彩模式),通过智能调节代码色彩系列参数,让代码清晰易辨。...我随手拍了几张照片让大家感受一下: 晚间 开启房间灯 显示效果 晚间 关闭房间灯 显示效果 是滴,这个显示器还只带背面光圈(MoonHalo),支持亮度、色温和环绕模式设置。...,一键切换到需要的显示模式: 经过两周深度使用,我认为这款显示器特别适合: 需要外接屏幕提高生产力的开发者 MacBook 作为主力机,长期遭受外接屏幕,字体发虚的小伙伴 经常夜间 Coding 的夜猫子程序员

    5210

    前端不止:Retina屏幕下两倍图

    按从左到右、从上到下的顺序来记录图像中每一个像素的信息,如:像素在屏幕上的位置、像素的颜色等。位图图像质量是由单位长度内像素的多少来决定的。单位长度内像素越多,分辨率越高,图像的效果越好。...屏幕分辨率和屏幕尺寸 相信大部分人对上面这个设置肯定特别熟悉,有些人可能对XP,甚至98系统的样式更熟悉(一不小心暴露了年龄),在Windows系统下,提高屏幕分辨率一般都需要提高屏幕尺寸。...以Retina屏幕为例,它并不是像普通显示器那样通过增大尺寸来增加分辨率,而是靠提升屏幕单位面积内的像素数量,即像素密度来提升分辨率,这样就有了高像素密度屏幕。...根据上面的分析,分辨率提升了,那么图标和文字尺寸就会变小,但是Mac的操作系统不同,它自动采取相应的模式(如Mac下的HiDPI)进行适配,将缩小后的字体(苹果一直采用矢量字体)和图标重新放大,这样苹果用了更多的像素数来显示同样的内容...好,说了这么多,都是谈屏幕的问题,貌似和前端开发没有什么关系,我又不是要买新手机(呵呵),那么现在,我们现在来谈谈前端的问题。

    2.8K50
    领券