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

 Java Discussion :

Récupération d'une image sous forme de pixels


Sujet :

Java

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2011
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 18
    Points : 10
    Points
    10
    Par défaut Récupération d'une image sous forme de pixels
    Bonjour à tous,

    Je ne sais pas si je suis dans la rubrique adaptée, j'espère bien que l'un d'entre vous pourra m'aider

    J'aimerais faire une petite interface où l'on écrit quelque chose (avec un simple trait noir, sans options particulières), et après validation récupérer ce qui a été tracé sous forme d'un tableau de pixels (30*30 pixels par exemple, avec un pixel entre 0 et 255), que j'enregistrerai dans un fichier...

    Je ne sais pas du tout comment m'y prendre, donc j'ai besoin de quelques pistes.

    Merci d'avance

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2008
    Messages : 34
    Points : 46
    Points
    46
    Par défaut
    Je ne l'ai jamais, mais j'ai déjà fais un générateur de code barre.
    Je le ferai de cette façon :

    1) je crée mon panel dessin (paintComponent(Graphics g))
    2) Tu crées l'outil ( http://download.oracle.com/javase/1....raphics2D.html )
    3) Tu récupéres le panel ( javax.imageio.ImageIO je pense que ça devrai aller et aussi le buffer d'image : ava.awt.image.BufferedImage).

  3. #3
    Membre expérimenté Avatar de rtg57
    Homme Profil pro
    Autodidacte
    Inscrit en
    Mars 2006
    Messages
    1 340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 340
    Points : 1 576
    Points
    1 576
    Par défaut
    Bonsoir,

    une idée peut être: après avoir tracé le trait à l'écran, effectuer une capture de la zone écran qui vous intéresse. Pour cela, il existe la classe Robot.
    Elle ne sert pas spécifiquement à cela, mais elle le fait. Quelques explications ici: http://download.oracle.com/javase/6/...awt/Robot.html

    La capture écran se fait dans une BufferedImage. ( Un tableau de points ). Les explications ici: http://download.oracle.com/javase/6/...eredImage.html

    On peut ensuite transférer ce Buffer dans un tableau d'entiers, le parcourir, et travailler chaque pixel stocké dans chaque élément du tableau.

    Cela donne grosso-modo:
    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
    BufferedImage imageTravail;
    Robot Automate;
    Rectangle aireTravail;
    int[] pixelsTravail;
     
    aireTravail = new Rectangle ( 0, 0, 30, 30 ); // A adpater...
     
    try
    {
      Automate = new Robot( getGraphicsConfiguration().getDevice() ); // Création du robot de capture d'écran
      imageTravail = Automate.createScreenCapture( aireTravail ); // Capture de la zone indiquée par aireTravail
      pixelsTravail = ((DataBufferInt) imageTravail.getRaster().getDataBuffer()).getData(); // Tout est stocké maintenant dans un tableau
     
      for ( index_pixel_lecture = pixelsMasque.length - 1; index_pixel_lecture >= 0; index_pixel_lecture-- )
      {
        // Parcourt de la table des pixels... Y a plus qu'à faire le traitement désiré...
        /.../
      }
    }
    catch ( AWTException awtE )
    {
      System.out.println( awtE.getMessage());
    }				{
    En espérant que cette ébauche vous donne un point de départ....

    @ bientôt...

  4. #4
    Membre à l'essai
    Inscrit en
    Février 2011
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 18
    Points : 10
    Points
    10
    Par défaut
    Merci rtg57 ton bout de code m'aide beaucoup, c'est exactement ce qu'il me fallait pour démarrer.

    Merci également à Pugnasuxan pour ton aide.

    Bonne soirée,
    @+

Discussions similaires

  1. Compression d'une image sous forme de byte[]
    Par pj_19 dans le forum ASP.NET MVC
    Réponses: 1
    Dernier message: 10/05/2011, 12h37
  2. comment inserer une image sous forms
    Par stefanie_u2 dans le forum Forms
    Réponses: 2
    Dernier message: 12/07/2009, 19h12
  3. PB insertion d'une image sous forms 10g
    Par yanchoux dans le forum Forms
    Réponses: 2
    Dernier message: 01/06/2009, 07h12
  4. Récupération d'une requête sous forme de tableau
    Par le--handballeur dans le forum iReport
    Réponses: 2
    Dernier message: 01/08/2006, 15h56
  5. comment créer une image sous forme d'eclipse(ronde)
    Par unix27 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 15/05/2005, 22h16

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