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

Android Discussion :

Problème raffraichissement d'une GestureImageView


Sujet :

Android

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2011
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 97
    Points : 75
    Points
    75
    Par défaut Problème raffraichissement d'une GestureImageView
    Bonjour à tous,
    Je vais essayer de vous exposer mon probleme clairement :
    J'ai une application avec laquelle je dois prendre une photo en noir et blanc. Une fois la photo prise, j'ai un aperçu de la photo, qui était contenu dans un ImageView.
    J'y ai rajouté des boutons afin de pouvoir augmenter ou diminuer la luminosité. Sur le clic d'un de ces boutons, je repasse mon image d'origine dans ma fonction "createBlackAndWhite()" avec les nouveaux paramètres, et je rafraichie la vue.

    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
    brightMinus.setOnClickListener(new View.OnClickListener() {
     
    				@Override
    				public void onClick(View v) {
    					if (currentProgress == 0) {
    						Log.i(TAG, "Minimum atteint");
    					} else {
    						brightnessBar.setProgress(brightnessBar.getProgress() - 1);
    						thresold += 5;
    						currentProgress--;
    						Bitmap newBmp = createBlackAndWhite(bmpFinal, thresold); // On repasse la photo en noir et blanc avec le nouveau seuil
    						imageView.setImageBitmap(newBmp); // On assigne la nouvelle photo a la vue
    						imageView.invalidate(); // On raffraichi la vue
    					}
    				}
    			});
    Ceci fonctionne très bien.

    Cependant, je dois également rajouter la possibilité de zoomer sur mon aperçu de photo avec 2 doigts, un pinch-zoom quoi.
    J'ai donc un layout qui doit contenir : ma photo que je peux zoomer, et 2 boutons pour changer la luminosité.

    Pour le pinch zoom j'ai utilisé la bibliothèque GestureImageView (qui hérite de ImageView).
    J'ai remplacé ma vue "ImageView" par un "RelativeLayout" avec l'id "photoLayout", et j'ai donc changé une partie de mon code, pour assigner mon image (type Bitmap), non plus à ma vue "ImageView" mais à mon GestureImageView" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    LayoutParams params = new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
    gestureImageView = new GestureImageView(this); // Gestionnaire d'évènements (pinch zoom)
    gestureImageView.setLayoutParams(params);
    photoLayout = (ViewGroup) findViewById(R.id.photoLayout); // Layout qui va contenir la photo
    bmpBlackWhite = createBlackAndWhite(bmpColor, thresold); // On passe la photo en noir et blanc
    gestureImageView.setImageBitmap(bmpBlackWhite); // On assigne l'image au GestureImageView
    photoLayout.addView(gestureImageView); // On rajoute cette vue au Layout
    Ceci marche très bien, je peux zoomer sans problème.

    Le contexte est posé, voici mon problème :
    Une fois que j'ai mis en place ce nouvel "affichage" avec le GestureImageView, je ne peux plus utiliser mes boutons me permettant de changer la luminosité. Je n'ai pas d'erreur, mais des que je clique sur un bouton, la vue se rafraichie bien, mais j'ai une image complètement BLANCHE, et je ne sais pas du tout comment faire pour arriver à combiner ces 2 fonctionnalités.

    Nouveau code :
    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
    brightMinus.setOnClickListener(new View.OnClickListener() {
     
    				@Override
    				public void onClick(View v) {
    					if (currentProgress == 0) {
    						Log.i(TAG, "Minimum atteint");
    					} else {
    						brightnessBar.setProgress(brightnessBar.getProgress() - 1);
    						thresold += 5;
    						currentProgress--;
    						Bitmap newBmp = createBlackAndWhite(bmpFinal, thresold); // On repasse la photo en noir et blanc avec le nouveau seuil
    						gestureImageView.setImageBitmap(newBmp); // On assigne la nouvelle photo a la vue
    						gestureImageView.invalidate(); // On raffraichi la vue
    					}
    				}
    			});
    J'ai l'impression que c'est ma variable "bmpFinal" qui déconne, ou ma gestureImageView qui n'arrive pas a réassigner l'image, je ne sais pas ...

    J'espère avoir réussi à bien vous expliquer mon problème, et surtout que quelqu'un aura une solution

    Merci d'avance !

  2. #2
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2011
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 97
    Points : 75
    Points
    75
    Par défaut
    Personne pour me venir en aide?

    Apres quelques tests, j'ai bien l'impression que c'est au niveau du raffraichissement que ca déconne ... Ma variable "bmpFinal" à l'air de toujours bien contenir ma photo

    EDIT & SOLUTION :
    En regardant un peu sur le Github du projet, notamment les "issues", j'ai pu remarquer que 2 autres personnes avaient le même problème que moi, et ont trouvé une solution
    La fonction initImage() de la classe GestureImageView est à corriger

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de raffraichissement après une pause
    Par sbig77 dans le forum wxPython
    Réponses: 3
    Dernier message: 06/03/2009, 19h55
  2. problème de raffraichissement d'une URL
    Par miledy dans le forum Interfaces Graphiques en Java
    Réponses: 5
    Dernier message: 04/10/2007, 16h24
  3. [Ajax] Problème avec le raffraichissement d'une div
    Par Mysti¢ dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 10/08/2006, 21h25
  4. Réponses: 3
    Dernier message: 29/08/2003, 10h57
  5. problème xsl : inclure une donnée xml dans une balise html
    Par djodjo dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 03/01/2003, 09h24

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