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 : 254
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 ?