我在picturebox1建立坐标轴,并画了一幅4个同心圆图,现在我想用button实现对图形的刷新、平移、变大、变小功能,但是不知道怎么入手,望各位高手给予帮助,在此谢过各位啦!

解决方案 »

  1.   

    刷新 : 重新画4个同心圆图
    平移 : 用GDI+的TransportTranlte.
    变大、变小 : 用GDI+的Scale.
      

  2.   

    刷新就是重画,平移用Graphics的TranslateTransform
    放大,缩小可以用Graphics的ScaleTransform实现,它放大是相当于用放大镜
    可以参考下:
    http://topic.csdn.net/t/20061212/17/5225485.htmlhttp://www.cnblogs.com/XieKe-cs01/archive/2008/02/26/346771.html
      

  3.   


    public partial class Form1 : Form
        {
            Graphics g;
            public Form1()
            {
                InitializeComponent();
                g = panel1.CreateGraphics();
            }        /// <summary>
            /// 移动
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void button2_Click(object sender, EventArgs e)
            {            
                g.TranslateTransform(50, 0);
                panel1.Invalidate();
             }        /// <summary>
            /// 刷新画圆
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void panel1_Paint(object sender, PaintEventArgs e)
            {
                g.DrawEllipse(new Pen(Brushes.Blue), new Rectangle(new Point(10, 10), new Size(40, 40)));            g.DrawEllipse(new Pen(Brushes.Blue), new Rectangle(new Point(10, 110), new Size(40, 40)));            g.DrawEllipse(new Pen(Brushes.Blue), new Rectangle(new Point(160, 10), new Size(40, 40)));            g.DrawEllipse(new Pen(Brushes.Blue), new Rectangle(new Point(160, 110), new Size(40, 40)));       
            }        /// <summary>
            /// 变大
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void button3_Click(object sender, EventArgs e)
            {
                g.ScaleTransform(2, 2);
                panel1.Invalidate();
            }        /// <summary>
            /// 变小
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void button4_Click(object sender, EventArgs e)
            {
                g.ScaleTransform((float)0.5, (float)0.5);
                panel1.Invalidate();
            }
        }
      

  4.   

    http://download.csdn.net/source/775720
    下载这个看看吧!