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 :

Graphe dans un canvas Java


Sujet :

Graphisme Java

  1. #1
    Membre averti
    Inscrit en
    Janvier 2010
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 46
    Par défaut Graphe dans un canvas Java
    bonsoir,
    svp je veux connaitre le nombre de points d'une graphe dans un canvas java
    puis leurs coordonnées

  2. #2
    Expert confirmé

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 817
    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 817
    Par défaut
    Salut,

    Vu le peu de réponses sur ton post identique précédent, je doute que tu en aies plus sur celui-ci.

    Surtout sans plus de précisions...

    Soit tu connais les points de ton graphe et la question ne se pose pas...
    Soit tu ne les connais pas et il va falloir jouer avec de l'analyse d'image...
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  3. #3
    Membre averti
    Inscrit en
    Janvier 2010
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 46
    Par défaut
    merci,
    l'image que j'ai, c'est une courbe et je veut analysé donc connaitre les coordonnées des points

  4. #4
    Membre averti
    Inscrit en
    Janvier 2010
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 46
    Par défaut
    c'est le code de la méthode que j'ai pour la représentation du forme d'onde d'un signal (.wav) ça fonctionne mais suis bloqué dans la représentation du spectre d'amplitude
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
     public void createFormeDonde(byte[] audioBytes) {
     
                lines.removeAllElements();  // clear the old vector
     
                AudioFormat format = audioInputStream.getFormat();
                if (audioBytes == null) {
                    try {
                        audioBytes = new byte[
                            (int) (audioInputStream.getFrameLength() 
                            * format.getFrameSize())];
                        audioInputStream.read(audioBytes);
                    } catch (Exception ex) { 
     
                    }
                }
     
                Dimension d = getSize();
                int w = d.width;
                int h = d.height-15;
                int[] audioData = null;
              if (format.getSampleSizeInBits() == 16) {
                     int nlengthInSamples = audioBytes.length / 2;
                     audioData = new int[nlengthInSamples];
                     if (format.isBigEndian()) {
                        for (int i = 0; i < nlengthInSamples; i++) {
                             // First byte is MSB (high order) 
                            int MSB = (int) audioBytes[2*i];
                             //* Second byte is LSB (low order) 
                             int LSB = (int) audioBytes[2*i+1];
                            audioData[i] = MSB << 8 | (255 & LSB);
                         }
                     } else {
                         for (int i = 0; i < nlengthInSamples; i++) {
                             //* First byte is LSB (low order) 
                             int LSB = (int) audioBytes[2*i];
     
     
                           // Second byte is MSB (high order) 
                             int MSB = (int) audioBytes[2*i+1];
     
     
                             audioData[i] =  MSB << 8 | (255 & LSB);
                         }
                     }
             } 
     
                int frames_per_pixel = audioBytes.length/10 / format.getFrameSize()/w;
                byte my_byte = 0;
                double y_last = 0;
                double y_pose = 0;
                int numChannels = format.getChannels();
                for (double x = 0; x < w && audioData != null; x++) {
                    int idx = (int) (frames_per_pixel * numChannels * x);
                    if (format.getSampleSizeInBits() == 8) {
                         my_byte = (byte) audioData[idx];
     
                    } else {
                         my_byte = (byte) (128 * audioData[idx] / 22768 );
     
                    }
                    double y_new = (double) (h * (128 - my_byte) / 256);
     
                    lines.add(new Line2D.Double(x, y_last, x, y_new));
     
     
                    y_last = y_new;
     
                }
     
                repaint();
            }

  5. #5
    Membre Expert
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Par défaut
    bonjour.
    j'ai pas une idée sur la forme de ton spectre mais je suppose que les points
    que tu cherche sont ici
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    lines.add(new Line2D.Double(x, y_last,    x, y_new));

  6. #6
    Expert confirmé

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 817
    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 817
    Par défaut
    Citation Envoyé par slim_java Voir le message
    bonjour.
    j'ai pas une idée sur la forme de ton spectre mais je suppose que les points
    que tu cherche sont ici
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    lines.add(new Line2D.Double(x, y_last,    x, y_new));
    +1

    et en addition, je présume que les valeurs que tu cherches à récupérer depuis trois mois sont là:

    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  7. #7
    Membre averti
    Inscrit en
    Janvier 2010
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 46
    Par défaut
    bonsoir,
    merci pour l'indice mais j'ai pas bien trouver la solution pour extraire les valeurs des coordonnées des points pour faire le calcul du spectre

  8. #8
    Membre Expert
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Par défaut
    Citation Envoyé par hammasaidi Voir le message
    bonsoir,
    merci pour l'indice mais j'ai pas bien trouver la solution pour extraire les valeurs des coordonnées des points pour faire le calcul du spectre
    salut.
    si tu arrive à Sélectionner tes points effectives à partir de cette ligne

    Citation Envoyé par slim_java Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    (x, y_last,    x, y_new)
    ou bien de ce que t'as proposé plegat, tu peut utiliser un objet collection pour enregistrer tes objets Point(x,y)

Discussions similaires

  1. Réponses: 13
    Dernier message: 25/03/2005, 11h00
  2. Graph 3D avec Visad (java)
    Par alamihamza dans le forum 3D
    Réponses: 1
    Dernier message: 16/02/2005, 11h19
  3. Executer de l'asp dans une fonction java
    Par ober dans le forum ASP
    Réponses: 2
    Dernier message: 03/01/2005, 09h31
  4. [Process] Probleme d'execution d'un prog c dans un prog java
    Par Elmilouse dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 08/06/2004, 14h26

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