画面上でマウスがクリックされた 2 つの場所の間の距離を計算する必要があります。
target(x & Y) & source(X & Y) は、マウス移動イベント (eX & eY) で入力されます
私は持っているdistance = Math.Sqrt(Math.Pow(targetX - sourceX, 2) + Math.Pow(targetY - sourceY, 2));
これにより結果が得られますが、正直なところ、測定値の単位や変換方法がわかりません。その結果をcmやインチなどの意味のある結果に変換するにはどうすればよいですか? 画面の解像度を考慮する必要があると思いますか?
更新 私は本当に時間をつぶしているだけです。優れたソリューションを探しているのではなく、機能するものだけを探しています。1日か2日しか続きません。
これがMoveMove
イベントと行われた呼び出しです。明確にするために、すべてを前に投稿する必要がありました。
private void HookManager_MouseMove(object sender, MouseEventArgs e)
{
labelMousePosition.Text = string.Format("x={0:0000}; y={1:0000}", e.X, e.Y);
AddDistance(Convert.ToDouble(e.X), Convert.ToDouble(e.Y));
}
private void AddDistance(double targetX, double targetY)
{
if (sourceX != 0 && sourceY != 0)
{
double distance = Convert.ToDouble(lblDistanceTravelled.Text);
distance =+ Math.Sqrt(Math.Pow(targetX - sourceX, 2) + Math.Pow(targetY - sourceY, 2));
lblDistanceTravelled.Text = distance.ToString();
}
sourceX = targetX;
sourceY = targetY;
}