Partage
  • Partager sur Facebook
  • Partager sur Twitter

ImageView remplacement de couleur

    6 août 2019 à 18:37:56

    Bonjour, j'essaie de créer un jeu android où comme tous les jeux il est nécessaire d'avoir des images, le problème c'est que je ne sais pas comment convertir tous les pixels de l'image qui sont blancs (le dessin est en noir) en transparent, j'ai énormément cherché mais la plupart des résultats trouvés sont les mêmes et traitent de changer tout l'imageview or je ne veux modifier QUE la couleur blanche présente sur l'image.

    J’espère avoir été précis, merci de l'aide future apportée.

    -
    Edité par Ectario 19 août 2019 à 11:35:34

    • Partager sur Facebook
    • Partager sur Twitter
      20 août 2019 à 12:33:13

      Qu'as-tu essayé de faire ? As-tu essayé de parcourir l'image pixel par pixel pour vérifier la couleur de celui-ci et le changer ?

      https://stackoverflow.com/a/5916506/2762990

      • Partager sur Facebook
      • Partager sur Twitter
        22 août 2019 à 10:10:23

        Exactement ça !

        Dans l'exemple que tu donnes il faut utiliser (myImageView = perso) :

        Bitmap myBitmap = ((BitmapDrawable)myImageView.getDrawable()).getBitmap();

        Seulement le problème c'est que myImageView change constamment car c'est une animation, donc un cycle d'images différentes qui se relayent. En conséquence j'ai un problème de conversion 

        ERREUR OBTENUE suite a la conversion:

        java.lang.NullPointerException: Attempt to invoke virtual method 'android.graphics.Bitmap android.graphics.drawable.BitmapDrawable.getBitmap()' on a null object reference

        (code de l'animation)

        perso.setBackgroundResource(R.drawable.anim_droite);
        perso_anim= (AnimationDrawable) perso.getBackground();
        perso.setVisibility(View.VISIBLE);
        perso_anim.start();

        -
        Edité par Ectario 22 août 2019 à 11:06:27

        • Partager sur Facebook
        • Partager sur Twitter
          22 août 2019 à 10:43:18

          Pour avoir un pixel, il suffit de parcourir l'ensemble des pixels avec la boucle for comme dans l'exemple.
          • Partager sur Facebook
          • Partager sur Twitter
            22 août 2019 à 11:04:41

            Merci, oui j'ai rectifié mon message car j'ai compris ma bêtise, j'ai modifié mon message du coup.

            Le problème c'est qu'il faudrait peut être un Thread où l'on met l'algo changer de pixels pour suivre l'évolution de l'ImageView ? Après le problème c'est que ça ne sera pas synchrone à l'animation. Enfaite je ne sais pas trop comment interpréter l'erreur citée précédemment.

            -
            Edité par Ectario 22 août 2019 à 11:54:04

            • Partager sur Facebook
            • Partager sur Twitter
              23 août 2019 à 12:11:34

              Je ne comprends pas trop, j'ai enfaite l'impression que c'est le .getDrawable qui foire et qu'il return un object null.

              (Code de l'erreur au dessus)

              • Partager sur Facebook
              • Partager sur Twitter

              ImageView remplacement de couleur

              × 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