我正在尝试使用此代码旋转其点来旋转矩形
var dx,dy:real; rotp:Tpoint; begin dx := (CenterPoint.Y * Sin(angle)) - (CenterPoint.X * Cos(angle)) + CenterPoint.X; dy := -(CenterPoint.X * Sin(angle)) - (CenterPoint.Y * Cos(angle)) + CenterPoint.Y; rotP.X := round((point.X * Cos(angle)) - (point.Y * Sin(angle)) + dx); rotP.Y := round((point.X * Sin(angle)) + (point.Y * Cos(angle)) + dy); result:= rotP; end;
但圆形功能使矩形变形,有谁知道如何克服这个?
我附上了图像,白点是我围绕中心点旋转的点,我确信图像旋转得很好,因此白点应该与图像的角相同.