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

C++Builder Discussion :

image vers matrice


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de hassiba_45
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    127
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 127
    Par défaut image vers matrice
    bonjour à tous, j'ai deux qustions
    1- je cherche à rendre une matrice sous forme d'image, cette matrice est déclarée comme suite
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    unsigned char ** image;
    2- j'ai la déclaration suivant en c++builder6
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    unsigned char ** imag;
    imag=new unsigned char * [height];
    for (i=0;i<height;i++)
      imag[i]=new unsigned char * [width];
    ce que je cherche c'est que fait cette instruction?
    et merci.

  2. #2
    Membre éclairé Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    934
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 934
    Par défaut
    Citation Envoyé par hassiba_45 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    unsigned char ** imag;
    imag=new unsigned char * [height];
    for (i=0;i<height;i++)
      imag[i]=new unsigned char * [width];
    le premier new déclare la première dimension de ta matrice (la hauteur)
    ensuite pour chaque élément de cette première dimension (dans le for), il y a déclaration de la deuxième dimensions (la largeur)

  3. #3
    Membre confirmé Avatar de hassiba_45
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    127
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 127
    Par défaut matrice vers image
    salut tous le monde,j'ai réalisé un programme qui transforme une matrice en image
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    for(x=0;x<h;x++)
      {
      for(y=0;y<w;y++)
      Image2->Canvas->Pixels[y][x]=imag[x][y];
      }
    en utilisant l'initialisation précédente mais les résultats ne sont pas correctes.
    est ce que vous pouvez m'aider à trouver l'erreur?
    et merci

  4. #4
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 407
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 407
    Par défaut
    Salut !

    L'erreur est que Pixels traite au niveau des couleurs (RGB) tandis que ta matrice sans doute pas !
    S'il s'agit d'une matrice à niveaux de gris, on serait dans ce contexte :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    c= Matrice[y][x];
    ...->Pixels[x][y] = (TColor)RGB(c,c,c);
    Remarque : si le bitmap est un 8 bits, il faut espérer que la palette soit un référentiel de gris sous peine de représenter n'importe quoi.
    Et dans ce cas, on aurait une code plus optimisé avec Scanline :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Graphics::TBitmap *Dest = Image1->Picture->Bitmap;
    for(int y = 0; j < Dest->Height; y++)
        {
        CopyMemory((Byte*)Dest->ScanLine[y], Matrice[y], Dest->Width);
        }
    Image1->Repaint();
    A plus !

  5. #5
    Membre confirmé Avatar de hassiba_45
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    127
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 127
    Par défaut matrice vers image
    salut, merci pour votre réponse, je désir avoir un affichage dans une autre matrice (pas dans Image1)
    et merci encore une fois

  6. #6
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 407
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 407
    Par défaut
    Salut !

    Pourtant, c'est bien ce que tu fais (ou que tu tentes de faire):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Image2->Canvas->Pixels[y][x]=imag[x][y];
    A plus !

Discussions similaires

  1. Télécharger image vers poste client
    Par Thomad dans le forum Langage
    Réponses: 4
    Dernier message: 01/08/2006, 10h34
  2. copier une partie d'une image vers une autre
    Par gregcat dans le forum Langage
    Réponses: 1
    Dernier message: 14/04/2006, 13h39
  3. [Debutant] [JSP/Servlet] Upload d'image vers le serveur
    Par ShinJava dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 05/07/2005, 17h42
  4. Découpage d'une grande image vers des textures
    Par djar dans le forum OpenGL
    Réponses: 14
    Dernier message: 26/02/2005, 18h46

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