我有一个关于按给定中心旋转椭圆的问题, 假设我有一个椭圆,应该是按用户给定的点旋转该椭圆,椭圆应该围绕该给定点旋转。 我试过了
g.RotateTransform(…)
g.TranslateTransform(…)
代码:
Graphics g = this.GetGraphics();
g.RotateTransform((float)degreeArg); //degree to rotate object
g.DrawEllipse(Pens.Red, 300, 300, 100, 200);
这工作正常,但我们如何给出我们的输出中心来旋转椭圆....
怎么可能请哪位小伙伴指点一下…… 谢谢…….
最佳答案
RotateTransform 始终围绕原点旋转。所以你需要先将你的旋转中心平移到原点,然后旋转,然后再平移回来。
像这样:
Graphics g = this.GetGraphics();
g.TranslateTransform(300,300);
g.RotateTransform((float)degreeArg); //degree to rotate object
g.TranslateTransform(-300,-300);
g.DrawEllipse(Pens.Red, 300, 300, 100, 200);
关于c# - 系统.绘图.图形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5298226/