Partage
  • Partager sur Facebook
  • Partager sur Twitter

Appel méthode de classe mère

Pas de réaction

Sujet résolu
    23 septembre 2011 à 5:01:10

    Bonjour, j'ai un problème assez simple je pense mais j'arrive pas à y faire quoi que ce soit ça ne marche pas.
    Je souhaite convertir une image en noir et blanc.

    J'ai donc dans mon main :

    PixelMapPlus hpmp = new PixelMapPlus( pmp );
    PixelMapPlus gpmp = new PixelMapPlus( hpmp );
    gpmp.convertToBWImage();
    


    Puis, dans la classe PixelMapPlus :

    public void convertToBWImage()
    {
    	if(imageType == ImageType.BW) return; // Breaking
    	this.toBWImage();
    }
    


    Enfin, dans PixelMap (avec PixelMapPlus extends PixelMap) :

    public PixelMap toBWImage()
    { 
    	return new PixelMap(ImageType.BW, this); 
    }
    


    Voila, et l'image reste en couleur ...
    Le reste des fonctions est correcte, quand je fais :

    PixelMap pmg = pmc.toBWImage();
    


    Alors l'image est bien convertie en noir et blanc.

    Someone's got a clue ?

    Merci ...
    • Partager sur Facebook
    • Partager sur Twitter
      23 septembre 2011 à 16:48:06

      Salut.

      Dans convertToBWImage() tu appelles la méthode toBWImage, qui retourne un objet de type PixelMap mais tu ne fais rien de cet objet, donc forcément ton image n'est pas modifiée.
      • Partager sur Facebook
      • Partager sur Twitter
        23 septembre 2011 à 17:52:54

        Je comprends, mais je ne sais pas alors comment remonter la valeur jusqu' "en haut", tu vois ce que je veux dire ?
        Ma méthode est void, et doit le rester ...
        • Partager sur Facebook
        • Partager sur Twitter
          24 septembre 2011 à 1:23:56

          Salut,

          En n'y connaissant rien aux objets PixelMap, etc... je peux te proposer ceci:

          public void toBWImage(PixelMap image)
          { 
          	image = new PixelMap(ImageType.BW, this); 
          }
          
          • Partager sur Facebook
          • Partager sur Twitter
            25 septembre 2011 à 18:26:28

            Alors en réalité en PixelMap, on prends chaque pixel de l'image pour le convertir. Donc en fait ça donnait :

            int i,j;
            		
            if(imageType == ImageType.BW) return;
            		
            for(i = 0; i < height; i++) {
                  for(j = 0; j < width; j++) {
                        imageData[i][j] = imageData[i][j].toBWPixel();
                  }
            }
            


            Et donc toBWPixel agit en conséquence ...

            Bref, je voulais juste vous dire merci de votre aide, ça m'a permis de trouver le truc :-)
            • Partager sur Facebook
            • Partager sur Twitter

            Appel méthode de classe mère

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown