[C++] Inversion BMP

WormsParty Messages postés 5 Date d'inscription lundi 28 juin 2004 Statut Membre Dernière intervention 17 juillet 2004 - 17 juil. 2004 à 13:04
WormsParty Messages postés 5 Date d'inscription lundi 28 juin 2004 Statut Membre Dernière intervention 17 juillet 2004 - 17 juil. 2004 à 16:27
Hello tout le monde !
voilà je commence à peine à programmer mon premier jeu en C++. Le personnage de déplace, saute,...Sauf que ! Il ne peux pas tourner. D'où la question :

Comment inverser une image BITMAP (effet miroir) ???

merci de répondre :)

7 réponses

cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
17 juil. 2004 à 14:28
inverser l'image, pas important bmp ou autre
une fois que l'image est chargée, du inverse directement les données en memoires

char *InvImage(size_t size, int depth, char *data)
{
/* inverse l'image ligne par ligne */
}
0
WormsParty Messages postés 5 Date d'inscription lundi 28 juin 2004 Statut Membre Dernière intervention 17 juillet 2004
17 juil. 2004 à 15:09
Et comment fait-on pour :
/* inverse l'image ligne par ligne */ ?????
0
WormsParty Messages postés 5 Date d'inscription lundi 28 juin 2004 Statut Membre Dernière intervention 17 juillet 2004
17 juil. 2004 à 15:11
Enfin...j'ai pas très bien compris commant faire...
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
17 juil. 2004 à 15:17
en gros comme ca mais c'est à verifier (j'ai pas tester)

char *InvImage(size_t size, size_t width, int depth, char *data)
{
char c, *p = data, *pf;
size_t i, l;

while( i < size )
{
pf = p + width * depth;
for( l = 0; l < width; l++, i++, p += depth, pf -= depth)
{
c = *p;
*p = *pf;
*pf = c;
}
}

return data;
}
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
17 juil. 2004 à 15:21
plutot comme ca

char *InvImage(size_t size, size_t width, int depth, char *data)
{
char c[depth], *p = data, *pf;
size_t i, l;

while( i < size )
{
pf = p + width * depth;
for( l = 0; l < width; l++, i++, p += depth, pf -= depth)
{
memcpy( c, p, depth);
memcpy( p, pf, depth);
memcpy( pf, c, depth);
}

}

return data;
}
0
xarier Messages postés 688 Date d'inscription jeudi 26 décembre 2002 Statut Membre Dernière intervention 19 mai 2005
17 juil. 2004 à 16:24
tu peut tous simplement utiliser plusieur script sur une seul mage et naviguer a l'aide de la command BitBlt()

aller hop bey
Life is Short 8-)
0
WormsParty Messages postés 5 Date d'inscription lundi 28 juin 2004 Statut Membre Dernière intervention 17 juillet 2004
17 juil. 2004 à 16:27
Je sais pas mais, à moins de toruver plus simple, j'ai meilleur temps de directement créer 2 images différentes et de les charger séprement je crois que ce sera bien plus pratique...
0
Rejoignez-nous