2013-03-13 154 views
-4

我在c#編程中並不擅長。我只是在學習它。我有一個小程序,我必須計算圖像上由直線繪製的兩點之間的距離,結果應該是它們之間的像素數。我需要畫一條線,一旦我結束線,我應該得到一個像素數的答案。任何人都可以幫忙嗎?如何計算圖像中兩點之間的距離和答案應以像素數量爲單位?

+0

你想怎麼算的像素?這就像使用數學的矢量一樣。考慮使用畢達哥拉斯定理 – 2013-03-13 11:22:24

+0

是的你是對的。但是我很困惑,因此來到這裏尋求幫助。 – Mightyking 2013-03-13 11:22:46

+0

可能是重複http://stackoverflow.com/questions/10434833/get-number-of-pixels-between-two-points-in-an-image – Freelancer 2013-03-13 11:22:58

回答

1

你可以使用畢達哥拉斯定理。

假設你想在整數像素距離,圍捕,然後以像素爲單位給了他們之間的兩個點的距離:

public static int Distance(Point p1, Point p2) 
{ 
    int dx = p1.X - p2.X; 
    int dy = p1.Y - p2.Y; 

    double distance = Math.Sqrt(dx*dx + dy*dy); 

    return (int) Math.Round(distance, MidpointRounding.AwayFromZero); 
}