The centre of a rhombus is the centre of the bounding rectangle:
_ _______
| / /
| / /
/ / |
/______/ __|
And that's trivial:
public static Point Center(this Rectangle r)
{
return new Point((r.Left + r.Right) / 2, (r.Top + r.Bottom) / 2);
}
(From the link supplied by NaibedyaKar in the comments above - since I wrote the tip, I can copy it all I want! :laugh: )
Working out the bounding rectangle isn't difficult either: (smallestX, smallestY), (largestX, largestY) are the TLHC and BRHC respectively.