billut
Messages postés74Date d'inscriptionlundi 23 mai 2005StatutMembreDernière intervention 5 décembre 2008
-
14 mars 2007 à 11:14
billut
Messages postés74Date d'inscriptionlundi 23 mai 2005StatutMembreDernière intervention 5 décembre 2008
-
15 mars 2007 à 11:16
Bonjour a tous,
voila je débute en C et j'ai quelques problemes avec la fonction itoa,
je vous explique vite fait : je souhaite charger des images les unes apres les autres et leur faire un traitement, pour cela j'utilise la boucle "for".
Voici mon code, vous comprendrez mieux :
for (i=1; i<=15; i++)
{
itoa(i, car, 10);
image = strcat("image", car);
total = strcat(image, ".jpg");
imageDeFond = IMG_Load(total);
SDL_BlitSurface(imageDeFond, NULL, ecran, &positionFond);
//--------------- Chargement et blittage de reproduc_interdites sur la scène ----------
reproduc_interdites = IMG_Load("reproduc_interdites.bmp");
//--------------- On rend la couleur (255,255,255) transparente -----------------------
SDL_SetColorKey(reproduc_interdites, SDL_SRCCOLORKEY, SDL_MapRGB(reproduc_interdites->format, 255, 255, 255));
//--------------- Transparence Alpha moyenne (128) ------------------------------------
SDL_SetAlpha(reproduc_interdites, SDL_SRCALPHA, 150);
SDL_BlitSurface(reproduc_interdites, NULL, ecran, &positionTransparence);
//--------------- On refresh le tout --------------------------------------------------
SDL_Flip(ecran);
resultat = strcat("z", total);
//------------------ Enregistrement de l'image ----------------------------------------
SDL_SaveBMP (ecran, resultat);
}
//--------------- Chargement et blittage de reproduc_interdites sur la scène ----------
reproduc_interdites = IMG_Load("reproduc_interdites.bmp");
//--------------- On rend la couleur (255,255,255) transparente -----------------------
SDL_SetColorKey(reproduc_interdites, SDL_SRCCOLORKEY,
SDL_MapRGB(reproduc_interdites->format, 255, 255, 255));
racpp
Messages postés1909Date d'inscriptionvendredi 18 juin 2004StatutModérateurDernière intervention14 novembre 201417 14 mars 2007 à 18:07
Oui ici le buffer est un tableau de char. Il faudra enlever les guillemets dans le premier appel de strcat():
image = strcat(image, car);
Attention: resultat = strcat("z", total); on ne peut pas donner comme premier paramètre une chaine écrite directement. Il faut utiliser un buffer comme expliqué dans mon message précédent.
billut
Messages postés74Date d'inscriptionlundi 23 mai 2005StatutMembreDernière intervention 5 décembre 2008 15 mars 2007 à 10:22
ahh ! merci bien, ca fonctionne , quoi ... ce que tu ma donné fonctionne, mon logiciel non..mdr, ca me charge et m'enregistre les images, mais les images sont noires, il n'apparait que la seconde image "reproduct_interdites" et non la 1ere..
mais bon je vais essayer de voir..
en tout cas merci !