我正在尝试使用此代码通过旋转点来旋转矩形
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;
但是圆形功能使矩形变形,有谁知道如何克服这个问题?
我附上了图像,白点是我围绕中心点旋转的点,我确定图像旋转得很好,因此白点应该与图像的角相同。