当前位置: 首页 > news >正文

怎么做好seo内容优化合肥seo服务商

怎么做好seo内容优化,合肥seo服务商,2023年新闻热点事件,抖音自媒体平台注册现在1920x1080以上分辨率的高分屏电脑渐渐普及了。我们会在Windows的显示设置里看到缩放比例的设置。在Windows桌面客户端的开发中,有时会想要精确计算窗口的面积或位置。然而在默认情况下,无论WinForms的Screen.Bounds.Width属性还是WPF中SystemParamet…

现在1920x1080以上分辨率的高分屏电脑渐渐普及了。我们会在Windows的显示设置里看到缩放比例的设置。在Windows桌面客户端的开发中,有时会想要精确计算窗口的面积或位置。然而在默认情况下,无论WinForms的Screen.Bounds.Width属性还是WPF中SystemParameters.PrimaryScreenWidth属性,以下图举例,将会返回除以150%的数值1280。而不是真实的物理分辨率1920。

接下来介绍如何获取Display resolution中显示的实际分辨率。通过如下Win32 API的调用:

[DllImport("gdi32.dll", EntryPoint = "GetDeviceCaps", SetLastError = true)]public static extern int GetDeviceCaps(IntPtr hdc, int nIndex);

该方法可以获取设备的硬件信息,可以通过第二个参数nIndex来指定要查询的具体信息。例如我们要用到的以像素为单位的桌面高度DESKTOPVERTRES。

enum DeviceCap{VERTRES = 10,PHYSICALWIDTH = 110,SCALINGFACTORX = 114,DESKTOPVERTRES = 117,// http://pinvoke.net/default.aspx/gdi32/GetDeviceCaps.html}

在获得物理像素高度后,通过计算不难得出屏幕的缩放比列。

private static double GetScreenScalingFactor(){var g = Graphics.FromHwnd(IntPtr.Zero);IntPtr desktop = g.GetHdc();var physicalScreenHeight = GetDeviceCaps(desktop, (int)DeviceCap.DESKTOPVERTRES);var screenScalingFactor = (double)physicalScreenHeight / Screen.PrimaryScreen.Bounds.Height;//SystemParameters.PrimaryScreenHeight;return screenScalingFactor;}

在获取屏幕缩放比例后,诸如通过Graphics类的CopyFromScreen方法来截屏,或者精确控制窗口大小和位置才得以正确实现。
其实在WinForms程序中,我们还有更简单的方式来实现类似效果。即在工程中添加app.manifest文件,将<dipAware>节点的值设为true。这样修改后,Screen.PrimaryScreen.Bounds将获得实际的物理分辨率尺寸,同时你还会发现WinForms程序不糊了。这是因为Windows默认WinForms程序不支持DPI感知,在高分屏下就直接粗暴的把窗体放大。

  <application xmlns="urn:schemas-microsoft-com:asm.v3"><windowsSettings><dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware></windowsSettings></application>

该设置对WPF无效,WPF默认支持DPI感知功能。而从UWP开始Windows客户端技术全面支持高分屏即高DPI缩放。老旧应用程序不肯升级,以至无法支持高分屏,这锅某软背着挺冤的……
所以同学们,现在开始全面转向WinUI 3吧,这货是这么些年某软兜兜转转,客户端技术集大成者。用Windows APP SDK创建Unpackged App时,恍惚间仿佛回到了在XP上装.NET Runtime的时光。
因为Github访问时常抽风,我将示例代码在Gitee上也同步了一份:

How to get Windows display scale using C#. (github.com)
How to get Windows display scale using C#. (gitee.com)

http://www.ritt.cn/news/16992.html

相关文章:

  • chatgpt 网站谷歌浏览器下载官方正版
  • 文章类网站后台软文发稿平台有哪些
  • 深圳设计装修公司宁波企业seo服务
  • 网站推广的方法ppt网站优化排名操作
  • css网站开发教程视频seo站点是什么意思
  • 自学设计的网站有哪些郑州网络推广排名
  • 学院网站建设策划书关键词优化技巧
  • 营销自动化平台seo搜索引擎优化费用
  • 音乐网站素材今日重大国际新闻
  • 佛山自助建站系统新网站怎么做优化
  • 论新疆政府网站职能建设百度百家号怎么赚钱
  • 自己做网站做那种类型百度建站多少钱
  • 东城东莞网站建设公司宣传网页怎么做
  • 黄岛王台有做网站的吗百度荤seo公司
  • 做外贸生意哪个网站好给网站做seo的价格
  • 专业做校园文化的网站品牌推广策略有哪几种
  • 找建设项目的网站精准营销及推广
  • 常州模板建站定制网站长沙优化官网服务
  • 信贷客户精准获客合肥seo推广培训班
  • 欧美做电影 迅雷下载网站做百度推广销售怎么样
  • 电子商务网站设计与建设小结搜索图片识别出处百度识图
  • wordpress嵌入百度地图北京谷歌优化
  • 黄色网站如何建设小程序开发平台有哪些
  • 做网站去哪里好百度上如何发广告
  • wordpress 跳转到指定页面 无效北京seo代理公司
  • 移动端减肥网站模板易观数据
  • 快飞建站百度推广和百度竞价有什么区别
  • 杭州网站建设案例seo推广官网
  • 郑州做网站哪个网站平台搭建
  • 电子商务网站创建方案市场调研报告模板范文