c# - 系统.绘图.图形

标签 c# winforms graphics

我有一个关于按给定中心旋转椭圆的问题, 假设我有一个椭圆,应该是按用户给定的点旋转该椭圆,椭圆应该围绕该给定点旋转。 我试过了

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/

相关文章:

c# - TableLayoutPanel 大小调整

c# - 重写表单事件方法的基本调用的必要性

c++ - 在SFML中绘制平滑曲线

algorithm - 丢弃视口(viewport)外的元素

r - 如何创建一个 "Clustergram"的情节? (在 R 中)

c# - 重负载应用程序卡住

c# - 服务器无法在发送 HTTP header 后修改 cookie

c# - 每行写入的StringBuilder字符数

C# 复杂的 TreeView 设计

c# - 从服务中注销 Windows 中的交互式用户