| Previous topic :: Next topic |
| Author |
Message |
mamaAMNA
Offline
Joined: 01 Mar 2010 Posts: 6
|
Posted: Mon 1 Mar 2010 - 15:41 Post subject: matrice d'une image avec SDL en c |
|
|
salut je veux récupérer la matrice d'une image chargée par sdl_image est ce qu'il y a quelqu'un peut m'aider car je suis bloquée à ce niveau ?? |
|
| Back to top |
|
 |
leonsulivan
Modérateurs

 Offline
Joined: 10 Mar 2008 Posts: 38
Localisation: Reims
|
Posted: Tue 2 Mar 2010 - 13:47 Post subject: matrice d'une image avec SDL en c |
|
|
Bonjour mamaAMNA,
ce que tu veux faire n'est pas très compliqué au vu de la structure d'une SDL_surface :
| Code: | 1 typedef struct SDL_Surface { 2 Uint32 flags; /* Read-only */ 3 SDL_PixelFormat *format; /* Read-only */ 4 int w, h; /* Read-only */ 5 Uint16 pitch; /* Read-only */ 6 void *pixels; /* Read-write */ 7 SDL_Rect clip_rect; /* Read-only */ 8 int refcount; /* Read-mostly */ 9 10 /* This structure also contains private fields not shown here */ 11 } SDL_Surface; |
Donc on peut remarquer que la matrice est stockée dans pixels
Maintenant le problème est de savoir le type d'un pixel, pour cela tu peux utiliser le SDL_PixelFormat qui te permet de savoir comment est structurée ton image (ARGB, RGB, RGBA, ...)
Normalement si tu utilises les formats classiques tu dois récupérer les valeurs comme suit pour la matrice complète :
| Code: | | ((Uint8*)monImage->pixels) |
Si tu veux ne récupérer qu'une seule couleur (rouge, vert, ou bleu) demandes moi ce que tu veux faire exactement et je t'aiderai. _________________ Site de Jérôme Baudoux - Battle Jump |
|
| Back to top |
|
 |
mamaAMNA
Offline
Joined: 01 Mar 2010 Posts: 6
|
Posted: Fri 2 Apr 2010 - 17:48 Post subject: matrice d'une image avec SDL en c |
|
|
salut leonsulivan je sais que c'est trop tards, mais excuser moi, je suis vraiment très occupée mon problème est de récuperer les trois matrices R,V et B de l'image et les stockés dans des fichiers textes merci d'avance de votre aide  |
|
| Back to top |
|
 |
Ben
Modérateurs

Offline
Joined: 03 Jun 2009 Posts: 88
|
Posted: Fri 2 Apr 2010 - 22:59 Post subject: matrice d'une image avec SDL en c |
|
|
C'est bien ce qu'il te donne en faite ^^. Sauf que pour avoir il faut que tu parcours le tableau sachant que le tableau est sous une certaine forme.
| leon wrote: | | Maintenant le problème est de savoir le type d'un pixel, pour cela tu peux utiliser le SDL_PixelFormat qui te permet de savoir comment est structurée ton image (ARGB, RGB, RGBA, ...) |
Donc une fois que tu sais sous quelle forme il se trouve, tu peux extraire facilement tes 3 composantes.
Par exemple on va dire que la forme est RGB(red - green - blue) :
| Code: | Uint8 * imageRGB = ((Uint8*)monImage->pixels); for(int i = 0 ; i < monImage->w * monImage->h ; i+=3) { imageRGB[i]; // Red imageRGB[i+1]; // Green imageRGB[i+2]; // Blue } |
Voila comment tu pourrais extraire tes couleurs. |
|
| Back to top |
|
 |
mamaAMNA
Offline
Joined: 01 Mar 2010 Posts: 6
|
Posted: Sat 3 Apr 2010 - 09:55 Post subject: matrice d'une image avec SDL en c |
|
|
salut Ben merciiiiiiiiiiiiii bien vraiment votre réponse est très utile encore merci pour votre aide  |
|
| Back to top |
|
 |
Simon
Administrateur

 Offline
Joined: 08 May 2005 Posts: 686
Localisation: France
|
|
| Back to top |
|
 |
Ben
Modérateurs

Offline
Joined: 03 Jun 2009 Posts: 88
|
Posted: Sat 3 Apr 2010 - 19:12 Post subject: matrice d'une image avec SDL en c |
|
|
Tu peux tenter en QT si tu veux simon , et en plus je ne rigole pas, c'est possible ^^.en plus c'est en C++
PS : c'est pas moi qu'il faut remercier mais leon, car c'est lui qui t'a donné le code pour avoir les couleurs d'une image. |
|
| Back to top |
|
 |
|