【问题标题】:Calculating angle (in degrees) from pixel values从像素值计算角度(以度为单位)
【发布时间】:2011-11-18 06:11:33
【问题描述】:

例如,我单击并直接向左拖动一条线,大约为 270 度,直接底部为 180 度,向东北拖动为 45 度,依此类推。我想以度为单位显示确切的值。

我在 WPF 中使用 2D 图形(对此非常陌生)。我可以看到它的像素从屏幕的左上角 (0,0) 开始,向右增加 x,向下增加 y。

我有代码来计算 x,y 坐标系中两个点的角度,但我不确定如何在 WPF 中实现这一点。

如果你们能给我一些想法,那将非常有帮助。

【问题讨论】:

标签: wpf math 2d


【解决方案1】:
    Point start;
    Point endPoint;
    Canvas canvas;  //or whatever control the user is clicking
    private void canvas_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
    {
        //The start of the user dragging
        start = e.GetPosition(canvas)
    }
    private void canvas_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
    {
        //The user is done dragging, calculate angle
        endPoint = e.GetPosition(canvas)
        //Do whatever you want with start and end
    }

【讨论】:

  • 我可以得到起点和终点,但我似乎无法计算实际角度,因为像素值从屏幕左上角开始按递增顺序排列。
猜你喜欢
  • 2017-01-13
  • 1970-01-01
  • 1970-01-01
  • 2020-04-01
  • 2012-04-15
  • 2014-07-16
  • 1970-01-01
  • 2013-08-22
  • 2016-12-11
相关资源
最近更新 更多