我从cm中获取用户的值。意思是我放了一个尺寸正好为1厘米的刻度,用户点击刻度的起点和终点,从那里我得到1厘米像素的总数。现在我想用英寸转换那个像素怎么做?
double a = p2.X - p1.X;
double b = p2.Y - p1.Y;
distance_of_pixcel = (Math.Sqrt(a * a + b * b)) ; //Return total no. of pixcel in 1cm
distance_of_pixcel = distance_of_pixcel / 0.39; //1 cm = 0.393701 inch
这是正确的方法吗?我每次都没有获得相同的价值。
答案 0 :(得分:1)
我建议进行3项改进:
无法测量整个显示器,但如果我使用5厘米那么它会起作用吗?
它肯定会提高你的精确度。这一切都取决于您需要多少精确度量,以及为此做出哪种努力合理。
如果您的用例非常区域化(例如只有一个国家/地区),您可以要求用户使用他们可能随身携带的东西(多种选项是理想的),例如普通钞票代替。预览屏幕上熟悉的内容,以便用户查看其设置是否正确。
例如:拖动滑块直到屏幕上的钞票与真实钞票相同