[C++Builder] Rotation de Canvas

Rotation de Canvas [C++Builder] - C++ - Programmation

Marsh Posté le 26-04-2002 à 10:57:37    

j'aimerais effectuer une rotation sur le canvas d'une image, mais je n'y arrive po... Klk1 peut-il me dire komen ça marche...?
 
MERCI D'AVANCE  ;)

Reply

Marsh Posté le 26-04-2002 à 10:57:37   

Reply

Marsh Posté le 26-04-2002 à 13:14:03    

Qu'est ce que tu veux faire exactement?


---------------
Le Tyran
Reply

Marsh Posté le 26-04-2002 à 14:03:39    

ben faire une rotation sur l'image pardi...

Reply

Marsh Posté le 26-04-2002 à 14:39:09    

LKoLRn a écrit a écrit :

ben faire une rotation sur l'image pardi...  




 
void TForm1::Rotate(double angle)
{
        AnsiString vide;
        double x = 0;
        double y = 0;
        double newx, newy;
        double radians;
 
        radians = 2 * M_PI * angle / 36;
 
        for(y = 0; y < 50; y++) {
      for(x = 0; x < 50; x++) {
             if(Sample -> Canvas -> Pixels[x][y] != Sample -> Canvas -> Pixels[0][0]) {
                      newx = x * cos(radians) + y * sin(radians);
                      newy = y * cos(radians) - x * sin(radians);
 
                      Sprites -> Canvas -> Pixels[newx + X][newy + Y] = Sample -> Canvas -> Pixels[x][y];
                      Sprites -> Canvas -> Pixels[newx + X + 1][newy + Y] = Sample -> Canvas -> Pixels[x][y];
 
                }
            }
        }
 
        X = X - 2 * M_PI * cos(((angle * 10) + 45) / 180 * M_PI);
        Y = Y + 2 * M_PI * sin(((angle * 10) + 45) / 180 * M_PI);
 
        Indice++;
        if(Indice < 9) X += 50;
        else {
             X -= 400;
             Y += 50;
             Indice = 0;
        }
}
 
Voilà, ça laisse des trous d'un pixel par-ci par-là mais ça permet de faire pivoter une bitmap.


---------------
...m'enfin !!!
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed