IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

retourner une image


Sujet :

avec Java

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 63
    Points : 30
    Points
    30
    Par défaut retourner une image
    Bonjour,
    j'ai écrit une petite méthode pour retourner horizontalement une image mais elle me renvoie une image toute noire...
    Si quelqu'un a une idée...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    public static int[][][] inverserImage(int[][][]img, int [][][] tmp){
       tmp= new int[img.length][img[0].length][3];
           for(int i=img.length; i>0; i--){
    	   for(int j=0; j<img[0].length; j++){
    		if(i<img.length  && j<img[0].length && (img[i][j][0]>0 ||img[i][j][1]>0 ||img[i][j][2]>0)){
    		     tmp[i][j][0]=img[img.length-1][j][0];
    		     tmp[i][j][1]=img[img.length-1][j][1];
    		     tmp[i][j][2]=img[img.length-1][j][2];
    		}
    	   }
          }
    }

  2. #2
    Membre émérite
    Avatar de supersnail
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 719
    Points : 2 793
    Points
    2 793
    Par défaut
    Bonjour,

    T'as pas oublié un "return tmp" quelque part?
    Toute question technique envoyée en MP ira directement à la poubelle

    Un code ne marchera jamais, il n'a jamais reçu la capacité de se déplacer.
    Inutile donc de dire "ça marche pas", donnez plutôt des informations précises afin de mieux pouvoir vous aider.


    Grand gourou de la -attitude

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 63
    Points : 30
    Points
    30
    Par défaut
    dans le copie coller oui
    pas dans mon code...

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Tu dois avoir un ArrayIndexOutOfBoundsException quelque part, puisque ton i commence à image.length et que tu l'utilises direct comme index de tableau. Il faut commencer à image.length - 1. (Et ne pas exclure le zéro, je pense.)

    Comme il y a une Exception tout de suite, la méthode ne fait presque rien et lance une Exception.

    Tu dois sûrement avoir un catch(Exception e) quelque part qui n'affiche pas ton Exception, et à cause de ça tu ne vois pas qu'il y a eu un problème. C'est mal.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 63
    Points : 30
    Points
    30
    Par défaut
    lol.."c'est mal" on dirait mon prof!
    j'avais vu pour le length-1.
    ça renvoie une image toute noire...mais de la même taille!



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    public static int[][][] inverserImage(int[][][]img, int [][][] tmp){
    		tmp= new int[img.length][img[0].length][3];
    		for(int i=img.length; i>0; i--){
    			for(int j=0; j<img[0].length; j++){
    				if(i<img.length  && j<img[0].length && (img[i][j][0]>0 ||img[i][j][1]>0 ||img[i][j][2]>0)){
    					tmp[i][j][0]=img[img.length-1][j][0];
    					tmp[i][j][1]=img[img.length-1][j][1];
    					tmp[i][j][2]=img[img.length-1][j][2];
    				}
    			}
    		}
    		//for(int i=tmp.length; i>=0; i--){
    		//	for(int j=0; j<img[0].length; j++){
    		//		if(i<img.length  && j<img[0].length && (tmp[i][j][0]>0 ||tmp[i][j][1]>0 ||tmp[i][j][2]>0)){
    		//			img[i][j][0]=tmp[i][j][0];
    		//			img[i][j][1]=tmp[i][j][1];
    		//			img[i][j][2]=tmp[i][j][2];
    		//		}
    		//	}
    		//}
    		return tmp;
    	}

  6. #6
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Comment ça tu "avais vu" ? L'erreur est toujours Là. Si tu la vois, enlève-la.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 63
    Points : 30
    Points
    30
    Par défaut
    Bonjour Thelvin,
    j'ai fait la modif pour le départ de la boucle à length-1 et >=0.
    le programme ne plantait pas, il créait bien un image et l'enregistre mais elle est toute noire.
    En tout cas merci.

  8. #8
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Ah, effectivement, pardon, en bricolant ton code j'avais enlevé le test dans ta boucle. Au passage, il n'a rien à faire ici. La boucle devrait commencer directement à la bonne valeur.

    Dans ta boucle, tu ne copies que des valeurs dont l'abscisse est img.length-1, c'est-à-dire la dernière colonne de ton image. Suffit qu'elle soit toute noire, et voili-voilà.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 63
    Points : 30
    Points
    30
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public static int[][][] inverserImage(int[][][]img, int [][][] tmp){
    		tmp= new int[img.length][img[0].length][3];
    		for(int i=0,  j=img.length-1; i<j; i++, j--){
    			for( int k=0; k<img[0].length; k++){
    				if(i<img.length  && j<img[0].length && (img[i][j][0]>=0 ||img[i][j][1]>=0 ||img[i][j][2]>=0)){
    					tmp[i][k][0]=img[i][k][0];
    					tmp[i][k][1]=img[i][k][1];
    					tmp[i][k][2]=img[i][k][2];
    				}
    			}
    		}
    		return tmp;
    	}
    Bonjour,
    effectivement, le test ici ne sert à rien, c'est juste que si j'arrive à faire marcher cette méthode, je voulais proposer au passage de retirer une couleur pour la copier sur une autre. (Pourquoi faire simple quand on peut faire compliqué...)
    En tout cas, l'image que je retourne est blanche sur la colonne concernée.
    (j'ai essayé avec plusieurs)
    Je ne comprends vraiment pas.

Discussions similaires

  1. [OpenGl ES] Retourner une image bitmap (avec VBO ?)
    Par me.in.worst dans le forum OpenGL
    Réponses: 2
    Dernier message: 18/09/2009, 11h15
  2. Retourner une image
    Par Medde dans le forum Imagerie
    Réponses: 7
    Dernier message: 21/07/2009, 16h25
  3. retourner une image avec tkinter
    Par kokliklo dans le forum Tkinter
    Réponses: 1
    Dernier message: 30/04/2009, 13h35
  4. Retourner une image grace à SDL
    Par ced236 dans le forum SDL
    Réponses: 4
    Dernier message: 23/10/2007, 19h36
  5. Retourner une image
    Par Aldur dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 26/12/2005, 10h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo