I would like to use a picturebox to put together an analog clock. I have set a backgound image for the picturebox, that is going to be the "clock-face". Upon it, I meant to use bitmap images as my hour,-minute, and second-hands. I had looked up a few forums, and MSDN documentations, and my problem was nearly solved, but I got stuck at a certain point. (I am using Visual Studio 2013 and C# form application). I had turned my bitmap into a Graphics object, and after that I set the rotation point with the TranslateTransform class and then rotated it with the RotateTransform class. The I drew the my original bitmap to the Graphics object, and set my picturebox.Image to this bitmap. An is shows up only a certain point of the hand. As I set another value to the degree, it shows another certain part of it. My code looks like:
private void rotateImg(Bitmap b , int degree) {
Bitmap bitmap = new Bitmap(b.Width,b.Height);
Graphics g = Graphics.FromImage(bitmap);
g.TranslateTransform(bitmap.Width/2,bitmap.Height/2);
g.RotateTransform(degree);
g.DrawImage(b, new Point(0,0));
g.Dispose();
pictureBox1.Image=bitmap;
}
And my result looks like this:
I am very confused with this now, I am not really familiar with C# form applications, so I would approciate any advice, link or whatsoever to carry on with this tiny project.
Leave the clock face as the Background, then use the Paint() event of your PictureBox to put the hand on top. Something like...