永发信息网

实际距离换算为屏幕上的像素点?

答案:2  悬赏:10  手机版
解决时间 2021-03-04 20:09
  • 提问者网友:斑駁影
  • 2021-03-04 07:48
在屏幕上的坐标点A是(100,120),如何通过将实际的距离(米为单位)转换为屏幕上的像素点呢?假设是5,6米,如何使实际距离转换成的像素点加上坐标点A变成坐标点B呢?
最佳答案
  • 五星知识达人网友:你可爱的野爹
  • 2021-03-04 08:36
不是很明白?在地图API都是提供了的,也不需要自己去判断的。
全部回答
  • 1楼网友:行雁书
  • 2021-03-04 09:08
像素与毫米的转换 转换还需要知道另一个参数:dpi(每英寸多少点) 象素数 / dpi = 英寸数 英寸数 * 25.4 = 毫米数 对于显示设备,不管是打印机还是屏幕,都有一种通用的方法 先用getdevicecaps(设备句柄,logpixelsx) 或者 getdevicecaps(设备句柄,logpixelsy)获得设备每英寸的像素数 分别记为:px 和 py 一英寸等于25.4mm 那么毫米换算成像素的公式为  水平方向的换算: x * px /25.4 垂直方向的换算: y * py /25.4 像素换算为毫米 x * 25.4 / px 在程序中这么写 mycontrol.height := 10{mm} * pixelsperinch * 10 div 254; 分子和分母同乘以10,将浮点数运算转化为整数运算,效率更高 javascript可以得到的显示器参数 screen. availheight 获取系统屏幕的工作区域高度,排除 microsoft?? windows?? 任务栏。 availwidth 获取系统屏幕的工作区域宽度,排除 windows 任务栏。 bufferdepth 设置或获取用于画面外位图缓冲颜色的每像素位数。 colordepth 获取用于目标设置或缓冲区的颜色每像素位数。 devicexdpi 设置或获取系统屏幕水平每英寸点数(dpi)的数值。 deviceydpi 设置或获取系统屏幕垂直每英寸点数(dpi)的数值。 fontsmoothingenabled 获取用户是否在控制面板的显示设置中启用了圆整屏幕字体边角的选项。 height 获取屏幕的垂直分辨率。 logicalxdpi 获取系统屏幕水平每英寸点数(dpi)的常规数值。 logicalydpi 获取系统屏幕垂直每英寸点数(dpi)的常规数值。 updateinterval 设置或获取屏幕的更新间隔。 width 获取屏幕的垂直分辨率。 常用的1024x768或800x600等标准的分辨率计算出来的dpi是一个常数:96,因此计算出来的毫米与像素的关系也约等于一个常数: 基本上 1毫米 约等于 3.78像素 像素不能直接换算成英寸、厘米,要在dpi下才能换算! photoshop中两种分辨率换算 72像素/英寸=28.346像素/厘米 300像素/英寸=118.11像素/厘米 1 厘米=0.3937 英寸 1 英寸=2.54 厘米 以常见1024像素对比: 1024像素=3.413英寸=8.67厘米 (300像素/英寸dpi 每英寸≈0.003333像素) 所以1024像素的厘米尺寸就是:1024*0.003333*2.54 1024像素=14.222英寸=36.12厘米 (72像素/英寸dpi 每英寸≈0.013889像素) 所以1024像素的厘米尺寸就是:1024*0.013889*2.54 提起分辨率,我们需要了解两个概念,图像分辨率和输出分辨率,图像分辨率是每英寸的像素数,以ppi为单位,图像分辨率又常常被表示成每一个方向上的总像素数量,比如640×480像素、1280×960像素等。而决定图像输出质量的是图像的输出分辨率,描述的是设备输出图像时每英寸可产生的点数(dpi),以dpi为单位,两者有联系但并不总是相等的。 希望能帮到您,谢谢!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯