日期:2014-05-17  浏览次数:20980 次

绘制个图形后如何旋转?

        private void button2_Click(object sender, EventArgs e)
        {
            Graphics g = this.pictureBox1.CreateGraphics();
           // Graphics g=this.pictureBox1.ge
          //  this.Refresh();

            Pen myPen = new Pen(Color.Blue, 2);
            
            g.DrawLine(myPen, 0, 0, 100, 100);//
            g.DrawLine(myPen, 0, 0, 0, 100);//
            g.DrawLine(myPen, 0, 100, 100, 100);
            g.RotateTransform(45);//为什么这个旋转45度不起作用????
        }


为什么这个旋转不起作用????

------解决方案--------------------
Pen myPen = new Pen(Color.Blue, 2);
g.RotateTransform(45);
.....
.......
....
------解决方案--------------------
先g.RotateTransform,在绘制
------解决方案--------------------
可以考虑创建位图->从位图创建画布->绘图->在你的目标画布上按照一定角度旋转绘制位图。
------解决方案--------------------
2楼正解,但是如果你要先绘制图形,再进行旋转,如果你要的只是最终结果,操作是一样的,但是如果你需要的是体现这个旋转的过程的话,那就是类似于动画的旋转了。那就参考下这个吧http://stackoverflow.com/questions/10440370/rotating-a-picture-continuously-on-a-windows-form
------解决方案--------------------
这句代码只是旋转画布,不是旋转图像.意思是将画布旋转了指定角度,然后你还得绘制图像上去.