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