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

2D Java Discussion :

Diminuer l'alpha d'une image de moitié


Sujet :

2D Java

  1. #1
    Membre éprouvé

    Homme Profil pro
    Ingénieur logiciel embarqué
    Inscrit en
    Juillet 2002
    Messages
    386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur logiciel embarqué
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2002
    Messages : 386
    Points : 1 164
    Points
    1 164
    Par défaut Diminuer l'alpha d'une image de moitié
    Bonjour,

    Je m'essai a quelques effet visuel en java 2D, apres avoir charger une image (png) je l'utilise en passant par une BufferedImage. Pour l'aficher avec la transparence definie a l'origine je n'ai pas de probleme. mais je souhaiterai que cette image s'estompe (donc reduire la valeur alpha de chaque pixels en quelque sorte). La question que je me pose est donc la suivante : existe t'il un moyen rapide et optimal de le faire (sans le faire explicitement pour chaque pixels) a partir de l'api de base?

    Merci!

  2. #2
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Dessiner cette image dans une autre image en appliquant un alpha approprié via l'AlphaComposite.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    BufferedImage source = ImageIO.read(...);
    BufferedImage target = new BufferedImage(source.getWidth(), source.getHeight,BufferedImage.TYPE_INT_ARGB);
    Graphics2D g2d = target.createGraphics();
    g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER),0.5f));
    target.drawImage(source,0,0,null);
    g2d.dispose();
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  3. #3
    Membre éprouvé

    Homme Profil pro
    Ingénieur logiciel embarqué
    Inscrit en
    Juillet 2002
    Messages
    386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur logiciel embarqué
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2002
    Messages : 386
    Points : 1 164
    Points
    1 164
    Par défaut
    super c'est presque ca ! (il y a des petits bouts qui se sont perdu dans le code precedent)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    BufferedImage source = ImageIO.read(...);
    BufferedImage target = new BufferedImage(source.getWidth(), source.getHeight(),BufferedImage.TYPE_INT_ARGB);
    Graphics2D g2d = target.createGraphics();
    g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER).derive(0.5f));
    g2d.drawImage(source,0,0,null);
    g2d.dispose();
    Merci bien !

  4. #4
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Une parenthèse de trop après le SRC_OVER à vrai dire
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

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

Discussions similaires

  1. Diminuer la matrice d'une image scanner
    Par Bruit dans le forum Traitement d'images
    Réponses: 2
    Dernier message: 29/04/2014, 16h11
  2. diminuer le "poids" d'une image sans réduire sa taille
    Par laurentSc dans le forum Imagerie
    Réponses: 6
    Dernier message: 04/04/2009, 23h55
  3. DIV auto-ajustable autour d'une image + 2 moitiés cliquables ?
    Par budhax dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 18/10/2008, 23h06
  4. [JAI] Diminuer la qualité d'une image PNG
    Par supermanu dans le forum 2D
    Réponses: 2
    Dernier message: 11/04/2006, 11h49
  5. [C#] custom control à partir d'une image / alpha blending
    Par Cyberwan dans le forum Windows Forms
    Réponses: 5
    Dernier message: 13/11/2005, 21h59

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