IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Lazarus Pascal Discussion :

BGRABITMAP Rotation d'image par le milieu [Lazarus]


Sujet :

Lazarus Pascal

  1. #1
    Membre à l'essai
    Homme Profil pro
    Gamer
    Inscrit en
    Novembre 2003
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Gamer

    Informations forums :
    Inscription : Novembre 2003
    Messages : 26
    Points : 13
    Points
    13
    Par défaut BGRABITMAP Rotation d'image par le milieu
    Bonjour à toutes et tous.

    Mon problème est d'orienter l'image d'un petit planeur en fonction d'un angle variant de 0 à 360 degrés.
    J'utilise la bibliothèque BGRABItmap sous Lazarus 1.6

    Nom : plane.png
Affichages : 229
Taille : 762 octets

    Je charge mon image comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
          PLANE.Free;
          PLANE := TBGRABitmap.Create(FILEPLANE);
    Puis je l'affiche sur le canvas comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    procedure dessinePlane (var box : TPaintBox; X, Y : integer);
    begin
      if FileExists (FILEPLANE) AND ACTIVEPLANE then
        begin
        PLANE.Draw (box.Canvas, X-Round(PLANE.Width / 2), Y-Round(PLANE.Height / 3), false);
        XPLANE := X; YPLANE := Y;
        end;
    end;
    Le nez du petit planeur est orienté à zéro degré (ou 360 degrés) au départ. Si il était orienté à 90 degrés, son nez pointerait vers l'Est.

    J'aimerai donc appliquer une rotation à cette image autour d'un point se situant au milieu de l'image.
    L'angle varie en continue toutes les 100 millisecondes. Le petit planeur devrait donc avoir à chaque instant l'angle désiré et se dessiner en conséquence en transparence (paramètre False, l'ancienne position est effacée).

    Quelqu'un saurait t'il comment faire ?

  2. #2
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 072
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 072
    Points : 15 462
    Points
    15 462
    Billets dans le blog
    9
    Par défaut
    Bonjour !

    J'ai trouvé un exemple intéressant (et d'un auteur sûr ) sur le forum anglophone. Je le joins à ce message. Attention ! L'exemple utilise un composant de la bibliothèque BGRAControls.

    Je m'en suis inspiré pour faire quelque chose avec votre avion (et sans BGRAControls). Faites tourner l'avion avec les flèches gauche et droite.

    Les deux exemples utilisent la méthode PutImageAngle().
    Fichiers attachés Fichiers attachés
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  3. #3
    Membre à l'essai
    Homme Profil pro
    Gamer
    Inscrit en
    Novembre 2003
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Gamer

    Informations forums :
    Inscription : Novembre 2003
    Messages : 26
    Points : 13
    Points
    13
    Par défaut
    Bonsoir Roland !

    c'est parfait. Que la méthode PutImageAngle soit avec toi

    Merci infiniment.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WD10] Créer des images par rotation de 90°
    Par lepirate dans le forum WinDev
    Réponses: 4
    Dernier message: 08/05/2011, 12h50
  2. Rotation d'images par semaine
    Par Invité dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 28/11/2006, 18h13
  3. Capture image par imprime ecran
    Par tomnie dans le forum Applications et environnements graphiques
    Réponses: 9
    Dernier message: 14/04/2004, 09h02
  4. Capture d image par webcam
    Par moimoimoi3x dans le forum C++Builder
    Réponses: 7
    Dernier message: 03/07/2003, 08h48
  5. Blocage à 60 images par seconde
    Par houssa dans le forum OpenGL
    Réponses: 5
    Dernier message: 24/06/2003, 08h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo