我发现利用 drawArgs.Graphics.RotateTransform((float)jiaodu, MatrixOrder.Append); 这个方法实现旋转 是旋转地整个画布! 那样子 我意思是 只想旋转这个矩形 以这个矩形的左上角的点来进行旋转!
因为我是在第三方插件上做 所以不可能在上面再新建一个画布或者是 PictureBox 求大家帮帮忙
6 个解决方案
#1
杜绝0回复
#2
到我的空间去下载一个函数,图像的旋转(任意角度)。旋转前后的图像切割、拼接就得自己做了
#3
既然可以2點繪製了直線,那旋轉的矩形也用這個方法實現就可以了,不需要用系統的矩形的,個人看法。
#4
System.Drawing.Drawing2D.GraphicsState state = drawArgs.Graphics.Save(); //<---
{
drawArgs.Graphics.RotateTransform((float)jiaodu, MatrixOrder.Append);
drawArgs.Graphics.DrawRectangle(...);
}
drawArgs.Graphics.Restore(state); //<---
#5
有2种办法
一是算出来新的顶点,直接把4个点连起来
另一种就是通过旋转,这种方法比较简单
旋转之后,要再转回去,以防止其它的也跟着转
#6
可是在世界坐标上是有正负之分的 请问下 能不能在给详细点的思路!
#1
杜绝0回复
#2
到我的空间去下载一个函数,图像的旋转(任意角度)。旋转前后的图像切割、拼接就得自己做了
#3
既然可以2點繪製了直線,那旋轉的矩形也用這個方法實現就可以了,不需要用系統的矩形的,個人看法。
#4
System.Drawing.Drawing2D.GraphicsState state = drawArgs.Graphics.Save(); //<---
{
drawArgs.Graphics.RotateTransform((float)jiaodu, MatrixOrder.Append);
drawArgs.Graphics.DrawRectangle(...);
}
drawArgs.Graphics.Restore(state); //<---
#5
有2种办法
一是算出来新的顶点,直接把4个点连起来
另一种就是通过旋转,这种方法比较简单
旋转之后,要再转回去,以防止其它的也跟着转
#6
可是在世界坐标上是有正负之分的 请问下 能不能在给详细点的思路!