C#旋转矩形
awArgs.Graphics.DrawRectangle(pen,m_Point[0].X,m_Point[0].Y,m_Width,m_Height);画了一个矩形!...
awArgs.Graphics.DrawRectangle(pen, m_Point[0].X, m_Point[0].Y, m_Width, m_Height); 画了一个矩形! 但是我想让这个矩形带角度所以就用了 drawArgs.Graphics.RotateTransform(30,MatrixOrder.Append); 这个方法 但是画完之后它的位置就变了! 所以我想问下有没有别的办法 能让我画的矩形 围绕m_Point[0].X, m_Point[0].Y 这个点来进行旋转! 请大家帮帮忙!
展开
1个回答
展开全部
System.Drawing.Drawing2D.Matrix transform = e.Graphics.Transform;
float angle = Convert.ToSingle(txtProfileAngle.Text) / (-1);//旋转角度
Point centerPoint = new Point(m_Point[0].X, m_Point[0].Y);
transform.RotateAt(angle, centerPoint);
e.Graphics.Transform = transform;
e.Graphics.DrawRectangle(new Pen(Color.White), rec);
这个旋转是要注意先后顺的 先画图还是先旋转 画出来的图的位置是不同的
float angle = Convert.ToSingle(txtProfileAngle.Text) / (-1);//旋转角度
Point centerPoint = new Point(m_Point[0].X, m_Point[0].Y);
transform.RotateAt(angle, centerPoint);
e.Graphics.Transform = transform;
e.Graphics.DrawRectangle(new Pen(Color.White), rec);
这个旋转是要注意先后顺的 先画图还是先旋转 画出来的图的位置是不同的
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询