Итак, вы пытаетесь определить, находится ли точка в прямоугольнике, но когда вращается прямоугольник?
Метод Contains () будет работать, только если текущее вращение равно 0 (я думаю, что currentSquare isпрямоугольник, представляющий положение изображения без вращения?).
Что вам нужно сделать, это сделать противоположное вращение изображения по координатам мыши (координаты мыши должны вращаться вокруг начала координатвашего изображения), а затем рассчитать, если новая позиция находится в пределах currentSquare.Вы должны быть в состоянии сделать все это с помощью векторов.(Не проверено)
bool MouseWithinRotatedRectangle(Rectangle area, Vector2 tmp_mousePosition, float angleRotation)
{
Vector2 mousePosition = tmp_mousePosition - currentSquare.Origin;
float mouseOriginalAngle = (float)Math.Atan(mousePosition.Y / mousePosition.X);
mousePosition = new Vector2((float)(Math.Cos(-angleRotation + mouseOriginalAngle) * mousePosition.Length()),
(float)(Math.Sin(-angleRotation + mouseOriginalAngle) * , mousePosition.Length()));
return area.Contains(mousePosition);
}