Ich versuche, eine Animation eines Rades mit Timer in C# drehen (Rad Bild auf BildBox).rotierendes Bild auf Timer ohne das Bild zu mischen
Verfahren zum Drehen Bild:
public static Image RotateImage(Image img, float rotationAngle)
{
//create an empty Bitmap image
Bitmap bmp = new Bitmap(img.Width, img.Height);
//turn the Bitmap into a Graphics object
Graphics gfx = Graphics.FromImage(bmp);
//now we set the rotation point to the center of our image
gfx.TranslateTransform((float)bmp.Width/2, (float)bmp.Height/2);
//now rotate the image
gfx.RotateTransform(rotationAngle);
gfx.TranslateTransform(-(float)bmp.Width/2, -(float)bmp.Height/2);
//set the InterpolationMode to HighQualityBicubic so to ensure a high
//quality image once it is transformed to the specified size
gfx.InterpolationMode = InterpolationMode.HighQualityBicubic;
//now draw our new image onto the graphics object
gfx.DrawImage(img, new Point(0, 0));
//dispose of our Graphics object
gfx.Dispose();
//return the image
return bmp;
}
// Code für Zeitgebertick
private void timer1_Tick(object sender, EventArgs e)
{
float anglePerTick = 0;
anglePerTick = anglePerSec/1000 * timer1.Interval;
pictureBox1.Image = RotateImage(pictureBox1.Image, anglePerTick);
}
das Bild des Rades Spinn halten und die Farbe wird das Mischen und dann das Bild gerade ausgeblendet. Wie kann ich das beheben?
Was ist 'anglePerSec' und was ist' timer1.Interval'? Hast du versucht, das Intervall zu erhöhen? – SergeyS