begin process at 2012 05 30 02:01:12
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Divers

 > 

Probleme avec un dégradé


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Probleme avec un dégradé

vendredi 12 décembre 2008 à 20:52:33 | Probleme avec un dégradé

hugo7

Bonjour voila mon problème.
J'utilise la librairie SDL et je cret un dégradé allant du noir au blanc qui marche très bien avec ce code :

intmain(intargc,char*argv[])
{
SDL_Surface*ecran=NULL,*lignes[256]={NULL};
SDL_Rectposition;
inti=0;

SDL_Init(SDL_INIT_VIDEO);

ecran=SDL_SetVideoMode(640,256,32,SDL_HWSURFACE);// Hauteur de 256 pixels

for(i=0;i<=255;i++)
lignes[i]=SDL_CreateRGBSurface(SDL_HWSURFACE,640,1,32,0,0,0,0);// Allocation des 256 surfaces

SDL_WM_SetCaption("Mon dégradé en SDL !",NULL);

SDL_FillRect(ecran,NULL,SDL_MapRGB(ecran->format,0,0,0));

for(i=0;i<=255;i++)
{
position.x=0;// Les lignes sont à gauche (abscisse de 0)
position.y=i;// La position verticale dépend du numéro de la ligne actuelle
SDL_FillRect(lignes[i],NULL,SDL_MapRGB(ecran->format,i,i,i));// Remplissage
SDL_BlitSurface(lignes[i],NULL,ecran,&position);// Collage
}

SDL_Flip(ecran);
pause();

for(i=0;i<=255;i++)// N'oubliez pas de libérer chacune des 256 surfaces !
SDL_FreeSurface(lignes[i]);
SDL_Quit();

returnEXIT_SUCCESS;
}
voidpause()
{
intcontinuer=1;
SDL_Eventevent;

while(continuer)
{
SDL_WaitEvent(&event);
switch(event.type)
{
caseSDL_QUIT:
continuer=0;
}
}
}



Ensuite j'ai essayer de faire l'inverse et de faire un dégradé du blanc au noir.
Pour cela j'ai changer la boucle for qui me permet de remplir en cela :

for(i=255;i>=0;i--)

Mais sa ne marche pas.
Voila d'avance merci pour vos réponses


dimanche 14 décembre 2008 à 14:48:54 | Re : Probleme avec un dégradé

Pistol_Pete

Salut,
Il suffit de faire exactement la même chose en remplaçant
position.y=i;// La position verticale dépend du numéro de la ligne actuelle
par
position.y=255-i;// La position verticale dépend du numéro de la ligne actuelle

A+

________________________________________________________________________________
Mon site internet :
[ Lien ] 

mardi 16 décembre 2008 à 16:14:26 | Re : Probleme avec un dégradé

hugo7

Merci pour ta réponse pistol_pete sa marche.
Maintenant je voudrais savoir comment faire pour faire un dégradé allant du rouge au vert par exemple.
Merci d'avances.
mardi 16 décembre 2008 à 18:47:47 | Re : Probleme avec un dégradé

Pistol_Pete

Salut
C'est pas très compliqué, il faut mettre quelque chose comme ca:
SDL_MapRGB(ecran->format,255-i,i,0)
pour i de 0 à 255
A+

______________________________________________________________________________
Mon site internet :
   [ Lien ]



Cette discussion est classée dans : ecran, lignes, for, sdl, dégradé


Répondre à ce message

Sujets en rapport avec ce message

SDL : comment rafraichir l'ecran? [ par smilandfly ] Bonsoir'je viens de mettre sous sdl (que je viens de decouvrir) mon awale programmé en C++ en mode texte.J'ai 2 problemes qui ne sont sans doute pas t [SDL] Defilement de l'ecran [ par hoxid ] Ben voila je voulais savoir comment faire defiler l'ecran, avec SDL.J'y arrive, mais quand le perso arrive au milieu, il bloque. De plus, quand il va probleme vitesse scrolling [ par gusdark ] bonjour , j'ai lu pas mal de topics sur le scrolling dans le forum, ce qui m'a permis de comprendre le principe.Mais j'ai cependant un problème que je Probleme en prog SDL.h [ par sieuzac ] Salut a tous.Je voudrez savoir pourquoi mon va plus vite au TEMP 2 qu'au TEMP 1#include #include #include #include /* surface qui sert à l'affich SDL [ par lushkah ] bjr, j'ai un pb avec la SDL  en C, je débutes et j'ai passer la nuit a essayer de faire une disparition en fondu, j'essayes de programmer un jeu de da Arguments et pointeur. [ par moumouteb ] Bonjours. Voici le bout de code qui pose problème:int Jeu (*ecran) {     ecran = SDL_SetVideoMode(Fenetre.x, Fenetre.y, 32, SDL_HWSURFACE | SDL_DOUBLE aide moi dans la SDL [ par iliassh ] je veux vos aide pour cree mon jeux en SDL,et je suis trop charger pourque je le rend avant la fin du mois courantje vai l'aide de qq de votre part po programmation lecteur mp3 [ par dr971 ] Bonjour,je souhaite realiser un lecteur mp3 en c grace à la librairie fmod mais j'ai un probleme. En fait je souhaite qu'en appuyant sur la touche p d tetris en SDL [ par fahdovski ] Bonjour,   je code tetris en C avec la SDL voici mon problemevoid creerlachute(tab t){int i,j;for (i=0;i      for(j=0;j{  if (t[i][j]==1   )        {  exercice matrice [ par sporta01 ] Salut à toutes et à tous ,j'ai pas bien compris un exercice de matrice en C,l'exercice consite à changer la forme d'une matrice cad les lignes horizon


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,125 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales