网站开发项目教程笔记,app快速开发框架,企业年金险是什么意思,自助发稿在C#中是以像素作为尺寸单位的#xff0c;像素是一种相对的尺寸概念#xff0c;与毫米的转换跟当前显示器的分辨率有关#xff0c;在不同分辨率下转换的系数也不同。借助C#中的GDI可以实现像素与毫米的换算#xff1a;一、根据Win32 API定义函数获取显示器设备信息#xf…在C#中是以像素作为尺寸单位的像素是一种相对的尺寸概念与毫米的转换跟当前显示器的分辨率有关在不同分辨率下转换的系数也不同。借助C#中的GDI可以实现像素与毫米的换算一、根据Win32 API定义函数获取显示器设备信息/// /// 获取设备信息/// /// 要查询设备的句柄/// 设备信息所在的索引值/// 返回对应索引值上的设备信息[DllImport(gdi32.dll)]private static extern int GetDeviceCaps(IntPtr hdc, int index);二、根据显示器设备信息计算像素与毫米的换算比率// 定义获取Graphics对象所需的控件Panel panel new Panel();// 根据控件所在句柄获取Graphics对象Graphics graphics Graphics.FromHwnd(panel.Handle);// 获取设备句柄IntPtr hdc graphics.GetHdc();// 获取屏幕宽度(毫米)HORZSIZEint width GetDeviceCaps(hdc, 4);// 获取屏幕高度(毫米)VERTSIZEint height GetDeviceCaps(hdc, 6);// 获取屏幕宽度(像素)HORZRESint xPixels GetDeviceCaps(hdc, 8);// 获取屏幕高度(像素)VERTRESint yPixels GetDeviceCaps(hdc, 10);// 释放设备句柄graphics.ReleaseHdc(hdc);// 释放Graphics对象graphics.Dispose();// 计算X轴方向像素与毫米的比率double xRate (double)xPixels / (double)width;// 计算Y轴方向像素与毫米的比率double yRate (double)yPixels / (double)height;三、像素数换算为毫米数// 定义要换算的毫米数double millimeter 10;// 计算X轴方向像素数int xPixel (int)Math.Round(xRate * millimeter);// 计算Y轴方向像素数int yPixel (int)Math.Round(yRate * millimeter);四、毫米数换算为像素数// 定义要换算的像素数int pixel 10;// 计算X轴方向毫米数double xMillimeter pixel / xRate;// 计算Y轴方向毫米数double yMillimeter pixel / yRate;