Comment faire pivoter l'image dans la zone d'image
Je fais une application winforms. L'une des fonctionnalités que j'espère pouvoir mettre en œuvre une rotation des engins sur la maison.
Lorsque le formulaire est chargé, vous devriez passez la souris sur l'image de l'engin, et il devrait tourner en place.
Mais tout ce que j'ai à ce jour est le RotateFlip et que tout retourne l'image.
Est-il un moyen de prendre le train de tourner en place lorsque le curseur de la souris sur elle?
Le code que j'ai pour l'instant est:
Bitmap bitmap1;
public frmHome()
{
InitializeComponent();
try
{
bitmap1 = (Bitmap)Bitmap.FromFile(@"gear.jpg");
gear1.SizeMode = PictureBoxSizeMode.AutoSize;
gear1.Image = bitmap1;
}
catch (System.IO.FileNotFoundException)
{
MessageBox.Show("There was an error." +
"Check the path to the bitmap.");
}
}
private void frmHome_Load(object sender, EventArgs e)
{
System.Threading.Thread.Sleep(5000);
}
private void frmHome_FormClosed(object sender, FormClosedEventArgs e)
{
Application.Exit();
}
private void pictureBox1_MouseHover(object sender, EventArgs e)
{
bitmap1.RotateFlip(RotateFlipType.Rotate180FlipY);
gear1.Image = bitmap1;
}
Comme je l'ai dit, je veux juste tourner l'engrenage. Je suis en train de le faire dans une application Windows Form. À L'Aide De C#. Cadre 4
la façon la plus simple pourrait être de créer un GIF animé et de laisser le contrôle picturebox faire le travail pour vous
C'est plutôt simple par le dessin de l'image (au lieu de paramétrer) et de transformer les Graphismes..
Vous pouvez avoir un coup d'oeil à mon exemple une telle chose à l'aide de cours, non obsolète .Net de l'INTERFACE utilisateur Windows de la technologie, ce qui élimine la nécessité pour de stupide "propriétaire de tirage" hacks, et le réduit cette tâche à un simple 2-ligne DataBinding chose.
C'est plutôt simple par le dessin de l'image (au lieu de paramétrer) et de transformer les Graphismes..
Vous pouvez avoir un coup d'oeil à mon exemple une telle chose à l'aide de cours, non obsolète .Net de l'INTERFACE utilisateur Windows de la technologie, ce qui élimine la nécessité pour de stupide "propriétaire de tirage" hacks, et le réduit cette tâche à un simple 2-ligne DataBinding chose.
OriginalL'auteur Nicholas Aysen | 2014-10-19
Vous devez vous connecter pour publier un commentaire.
Vous aurez à utiliser
Timer
pour créer de la rotation de laImage
. Il n'est pas construit dans la méthode existe pour la rotation.Créer un mondial de la minuterie:
Initialiser le timer dans le constructeur de la forme et de créer
PictureBox
MouseEnter
etMouseLeave
événements:Ensuite créer leurs
Event Handlers
:OriginalL'auteur Shaharyar
Vous pouvez utiliser le
Graphics.RotateTransform
méthode comme ceci; j'utilise un doublebuffered Panneau, d'une Minuterie et deux variables de classe..Assurez-vous que l'image est carrée et a l'équipement dans le milieu!! Voici une belle:
Ici est un flickerfree doublebuffered: Panneau de
Bonne chance. Puisque vous utilisez Shaharyar de la solution, qui n'a pas vraiment tourner mais simplement bascule de 90°, vous devrez rechercher un engin qui ressemble bien avec ces grands incréments..Les images ci-dessus ont un 60° symétrie (en fait cassé un peu à un modèle de superposition.) Ce n'est pas bien quand être retourné.. Le nombre de roues doit être divisible par 3 mais pas par 2 ou par 4. - Je ajouter un avec 15 rouages..
merci pour les conseils
OriginalL'auteur TaW