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

Graphisme Java Discussion :

Palette de PNG


Sujet :

Graphisme Java

  1. #1
    Membre du Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Décembre 2011
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2011
    Messages : 61
    Points : 65
    Points
    65
    Par défaut Palette de PNG
    bonjour,
    voici mon soucis j'ai une image PNG (en niveaux de gris)
    que je récupère sous java avec un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    BufferedImage img=ImageIO.read( new File (<cheminDeLaPng>))
    je l'ouvre et en fait une copie.Ensuite je récupère la valeur du pixel 0,0 en faisant
    je stocke cette valeur et je veux la changer en rouge (par exemple)
    je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    img.setRGB(0,0,0xFF0000)
    Après vérification il m'affiche bien le pixel en rouge mais impossible de retrouver la valeur 0xFF0000.
    Où se cache-t-elle?
    mon indexcolor model est le TYPE_INT_RGB (pour la copie)
    merci.

  2. #2
    Expert éminent

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 813
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 813
    Points : 7 638
    Points
    7 638
    Par défaut
    Salut,

    Citation Envoyé par Spirale21 Voir le message
    Après vérification il m'affiche bien le pixel en rouge mais impossible de retrouver la valeur 0xFF0000.
    Et tu retrouves quoi?
    -65536?
    Et avec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Integer.toHexString(img.getRGB(0,0))
    ?
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  3. #3
    Membre du Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Décembre 2011
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2011
    Messages : 61
    Points : 65
    Points
    65
    Par défaut
    On se rapproche j'ai ffff0000 ... on dirait que je récupère le canal alpha, pourtant si je change le type de cm ça m'affiche n'importe quoi dans un visualiseur d'image...
    mais il y a une chose que je ne comprends pas aussi dans les data du raster il devrait pas m'afficher un nombre décimale du rouge (16777215)?
    En tout cas merci beaucoup pour cette piste

  4. #4
    Expert éminent

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 813
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 813
    Points : 7 638
    Points
    7 638
    Par défaut
    Citation Envoyé par Spirale21 Voir le message
    On se rapproche j'ai ffff0000 ... on dirait que je récupère le canal alpha, pourtant si je change le type de cm ça m'affiche n'importe quoi dans un visualiseur d'image...
    C'est quoi cm?

    Sinon, oui, tu récupères le canal alpha. Mais ça dépend du type de ton image. Donc fait un getType sur ta bufferedimage pour voir en quel type elle est.

    Si tu fais un setRGB avec ff0000 sur une ARGB, il considère que tu y mets 00ff0000 (alpha à 0)
    Si tu fais un setRGB avec ff0000 sur une RGB, il considère que tu y mets ffff0000 (alpha à 1)

    Citation Envoyé par Spirale21 Voir le message
    mais il y a une chose que je ne comprends pas aussi dans les data du raster il devrait pas m'afficher un nombre décimale du rouge (16777215)?
    16777215, ça fait du ffffff, donc du blanc...
    pour le rouge, ffff0000 = -65536, ou 00ff0000 = 16711680.
    Conversion binaire>entier signé. Il n'y a pas d'entier non signé en java (si je ne m'abuse...)
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  5. #5
    Membre du Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Décembre 2011
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2011
    Messages : 61
    Points : 65
    Points
    65
    Par défaut
    cm c IndexColorModel c le terme utilisé dans la documentation oracle.
    bon j'ai recoupé des infos (dont les tiennes) et j'ai maintenant un programme qui roule . Le pixel à pour coordonnées x,y et l'image est dans le buuferedImage bufferedImage

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    int canalRouge= bufferedImage.getRGB(x,y)>>16)&0xff;
    int canalVert = bufferedImage.getRGB(x,y)>>8)&0xff;
    int canalBleu= bufferedImage.getRGB(x,y)&0xff;
     
    int couleurDecimale= (canalRouge<<16)
             |(canalVert<<8)
             |(canalBleu);
    merci beaucoup pour l'éclaircissement car tu avait raison le rouge c'est -65536

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

Discussions similaires

  1. [Débutant] extraction bits de poids faible (LSB) de la palette d'une image png
    Par dedeff dans le forum MATLAB
    Réponses: 1
    Dernier message: 20/02/2015, 09h18
  2. PNG
    Par GLDavid dans le forum OpenGL
    Réponses: 5
    Dernier message: 17/01/2003, 14h06
  3. Changer les couleurs de la palette avec du RGB
    Par le mage tophinus dans le forum x86 16-bits
    Réponses: 11
    Dernier message: 13/01/2003, 08h55
  4. [xmlrad] item (palette) & item (treview)
    Par Pm dans le forum XMLRAD
    Réponses: 2
    Dernier message: 08/01/2003, 11h21
  5. [Kylix] la palette de composants de kylix
    Par ybouarour dans le forum EDI
    Réponses: 4
    Dernier message: 11/07/2002, 20h50

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