Rotation de Canvas [C++Builder] - C++ - Programmation
Marsh Posté le 26-04-2002 à 13:14:03
Qu'est ce que tu veux faire exactement?
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. 
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