Retourner du texte (faire une symétrie)

fdiedler2000 Messages postés 383 Date d'inscription samedi 29 janvier 2005 Statut Membre Dernière intervention 1 décembre 2008 - 1 déc. 2008 à 19:14
nanonavich Messages postés 54 Date d'inscription mardi 25 mars 2008 Statut Membre Dernière intervention 15 août 2015 - 4 déc. 2008 à 01:03
Bonjour,

Je cherche à faire cela en C :

Est ce possible ? Si oui, comment s'y prendre ?

Merci beaucoup ! :)
<v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"><v:stroke joinstyle="miter"><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"><v:f eqn="sum @0 1 0"><v:f eqn="sum 0 0 @1"><v:f eqn="prod @2 1 2"><v:f eqn="prod @3 21600 pixelWidth"><v:f eqn="prod @3 21600 pixelHeight"><v:f eqn="sum @0 0 1"><v:f eqn="prod @6 1 2"><v:f eqn="prod @7 21600 pixelWidth"><v:f eqn="sum @8 21600 0"><v:f eqn="prod @7 21600 pixelHeight"><v:f eqn="sum @10 21600 0"></v:f><v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"><o:lock v:ext="edit" aspectratio="t"></o:lock><v:shape id="Image_x0020_1" o:spid="_x0000_i1025" type="#_x0000_t75" style="width: 124.5pt; height: 96.75pt; visibility: visible;"><v:imagedata src="file:///C:%5CDOCUME%7E1%5CFdiedler%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_image001.png" o:title=""><o:lock v:ext="edit" aspectratio="f"></o:lock></v:imagedata></v:shape></v:path></v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:formulas></v:stroke></v:shapetype>

14 réponses

coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
1 déc. 2008 à 19:24
salut

en C brut, on ne manipule pas d'images. si on ne sait pas comment tu affiches la premiere, on ne peut pas chercher a t'aider pour afficher la seconde.
fdiedler2000 Messages postés 383 Date d'inscription samedi 29 janvier 2005 Statut Membre Dernière intervention 1 décembre 2008
1 déc. 2008 à 19:37
Oui je comprends, mais c'est assez compliqué en fait.

On va utiliser un microcontroleur pour alimenter un clavier et un écran LCD. A partir du clavier, on va programmer les touches en C pour afficher un texte et grace à un bouton, il va falloir créer une fonction pour renverser le texte comme sur l'image.

Bien sur, je ne demande pas du code maintenant, je voulais juste m'assurer si c'était au moins possible et si oui, comment s'y prendre.

Merci :)
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
1 déc. 2008 à 20:11
bah...

ta transformation, c'est ca :
y = max - y;
x = max - x;
fdiedler2000 Messages postés 383 Date d'inscription samedi 29 janvier 2005 Statut Membre Dernière intervention 1 décembre 2008
1 déc. 2008 à 21:01
Merci mais quez représente x, y et max ?

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

Posez votre question
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
1 déc. 2008 à 21:12
y = maxY - y;
x = maxX - x;

x et y c'est la position de tes px
maxX la dimention de ton ecran (largeur)
maxY la hauteur
fdiedler2000 Messages postés 383 Date d'inscription samedi 29 janvier 2005 Statut Membre Dernière intervention 1 décembre 2008
1 déc. 2008 à 22:30
Ok merci pour le tuyau ^^

Une dernière question débile : Quand on programme un clavier AZERTY en C (donc quand tu appuies sur le A, je veux avoir la lettre A s'afficher sur l'écran), est ce que la lettre A est formé d'un seul pixel ou de plusieurs pixels ?

Dans chacun des cas, comment appliquer ta formule mathématiques pour les renverser ?

Merci encore
nanonavich Messages postés 54 Date d'inscription mardi 25 mars 2008 Statut Membre Dernière intervention 15 août 2015
1 déc. 2008 à 22:42
un autre manier très simple comme dans les vieux jeu tu crée ton alphabet de A a Z

example char a[]={ 00100
                              01010
                              01110
                              01010 }
dessin pas tres reussi mes ses la base fait tous les lettre
apres tu dessin selement le 1=pixel 0=transparent pixel par pixel
et pour renverser  tu par de la fin la loop en envers!!!

Vector_kiev
fdiedler2000 Messages postés 383 Date d'inscription samedi 29 janvier 2005 Statut Membre Dernière intervention 1 décembre 2008
1 déc. 2008 à 22:48
Ouais pourquoi pas ! Par contre, j'ai pas compris comment on fait pour renverser avec ta méthode [../auteur/NANONAVICH/1350849.aspx nanonavich] ?
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
1 déc. 2008 à 23:03
... tu devrais commencer par lire de la doc... parce-que demander si une lettre est formee d'un seul pixel, c'est un peu debile comme question...
fdiedler2000 Messages postés 383 Date d'inscription samedi 29 janvier 2005 Statut Membre Dernière intervention 1 décembre 2008
1 déc. 2008 à 23:10
"c'est un peu debile comme question..."
Merci de me le rappeler c'est d'ailleurs pour cela que je l'avais spécifier dans la question !

Je n'ai pas de doc car on a pas encore commandé le clavier et à mon avis, il n'y aura pas de doc avec ^^

Enfin merci quand même.
nanonavich Messages postés 54 Date d'inscription mardi 25 mars 2008 Statut Membre Dernière intervention 15 août 2015
3 déc. 2008 à 18:33
Char a[]={              00100
                              01010
                              01110
                              01010 }

dessin en endrois
for(x=0;x<5;x++) {
 for(y=0;y<5;y++)  {  if(a[i]=='1') setpixel(x,y,15); i++;

}}

le meme dessin en envers
for(x=0;x<5;x++) {

 for(y=5;y>0;y--)  {  if(a[i]=='1') setpixel(x,y,15); i++;


}}
nanonavich Messages postés 54 Date d'inscription mardi 25 mars 2008 Statut Membre Dernière intervention 15 août 2015
3 déc. 2008 à 18:37
non  en envers ses pluto

tu commence a la fin de dessin memoire
i=20;

le meme dessin en envers
for(x=0;x<5;x++) {
 for(y=0;y<5;y++)  {  if(a[i]=='1') setpixel(x,y,15);
  i--;
}}

Vector_kiev
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
3 déc. 2008 à 19:19
ouais sauf que ton code ne marchera pas (ta syntaxe pour ta liste et ton == '1' sont mauvais)
nanonavich Messages postés 54 Date d'inscription mardi 25 mars 2008 Statut Membre Dernière intervention 15 août 2015
4 déc. 2008 à 01:03
uais sauf que ton code ne marchera pas (ta syntaxe pour ta liste et ton == '1' sont mauvais)

lol, va falloir que je fais le programme au complet, sais juste un exemple
pour montrer cette technique

char paranoia[26]={              "00100010100111001010" } ;
int i=25;

for(x=0;x<5;x++) {
 for(y=0;y<5;y++)  {  if(paranoia[i]=='1') setpixel(x,y,15);
  i--;
}}
Rejoignez-nous