C#根据显示器分辨率进行毫米与像素的单位换算
C#根据显示器分辨率进行毫米与像素的单位换算
在.NET开发环境下Winform界面的组件以像素作为尺寸单位的,像素是显示器分辨率的尺寸单位,在进行项目开发中,如开发报表,有时需要进行毫米转换为像素。因为转换与当前显示器分辨率有关,在不同分辨率下转换的系数不同,下面是借助GDI绘图机制进行毫米转换像素。 C# Code: public static double MillimetersToPixelsWidth(double length) //length是毫米,1厘米=10毫米 { System.Windows.Forms.Panel p = new System.Windows.Forms.Panel(); System.Drawing.Graphics g = System.Drawing.Graphics.FromHwnd(p.Handle); IntPtr hdc = g.GetHdc(); int width = GetDeviceCaps(hdc, 4); // HORZRES int pixels = GetDeviceCaps(hdc, 8); // BITSPIXEL g.ReleaseHdc(hdc); return (((double)pixels / (double)width) * (double)length); } [DllImport("gdi32.dll")] private static extern int GetDeviceCaps(IntPtr hdc, int Index); //来源:C/S框架网(www.csframework.com) QQ:23404761
参考文档:
C#开发实例-数据字典作为参考数据在表格中显示的两种方案 C#.Net显示今天的农历日期 [原创]C#一键隐藏QQ/MSN,显示/隐藏系统托盘图标,获取托盘图标 C#开发自定义控件-设置显示工具箱中的图标 Asp.Net(C#)发送带有附件及显示图片的邮件 标签:C#.Net组件开发 - 属性窗体内显示自定义名称 C#使用LCMapString API函数进行中文简繁体互相转换 C# 自动关闭或打开显示器 C# 窗体上显示透明图片,PNG图片,已审核/未审核图标 C# 窗体上显示透明图片,制作已审核/未审核图标 VS调试C#程序,修改代码出错:不允许对64位应用程序进行修改 界面添加XtralScrollableControl容器解决分辨率低的问题 C#显示器监视器开关电源控制 C# ADO.NET根据实体对象类型转换创建DataTable对象 C#根据第三方提供的IP查询服务获取公网外网IP地址
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 | |