moving image to bounce or rotate in a circle

Posted by BlueMonster on Stack Overflow See other posts from Stack Overflow or by BlueMonster
Published on 2012-04-08T05:02:37Z Indexed on 2012/04/08 5:30 UTC
Read the original article Hit count: 141

Filed under:
|

I found this small application that i've been playing around with for the past little while. I was wondering, if i wanted to simply rotate the image in a circle? or make the entire image just bounce up and down, how would i modify this program to do so? Everything i've tried will just stretch the image - even if i do get it to move to the left or to the right. Any ideas on what i can do? Code is below

   public partial class Form1 : Form
   {
          private int width = 15;
          private int height = 15;

          Image pic = Image.FromFile("402.png");
          private Button abort = new Button();
          Thread t;

          public Form1()
          {
            abort.Text = "Abort";
            abort.Location = new Point(190, 230);
            abort.Click += new EventHandler(Abort_Click);
            Controls.Add(abort);

            SetStyle(ControlStyles.DoubleBuffer| ControlStyles.AllPaintingInWmPaint| ControlStyles.UserPaint, true);

            t = new Thread(new ThreadStart(Run));
            t.Start();
          }
          protected void Abort_Click(object sender, EventArgs e) 
          {
            t.Abort();
          }

          protected override void OnPaint( PaintEventArgs e )   
          {
             Graphics g = e.Graphics;
             g.DrawImage(pic, 10, 10, width, height);
             base.OnPaint(e);
          }

          public void Run() 
          {

              while (true) 
              {
                for(int i = 0; i < 200; i++) 
                {
                    width += 5;

                  Invalidate();
                  Thread.Sleep(30);
                }

              }
          }
    }

© Stack Overflow or respective owner

Related posts about c#

Related posts about winforms