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

Visual C++ Discussion :

[VC++ 2003] copie d'un buffer vers un buffer plus petit


Sujet :

Visual C++

  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    135
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 135
    Par d�faut [VC++ 2003] copie d'un buffer vers un buffer plus petit
    Bonjour,

    suite a mon poste qui n'a pas l'air d'inspirer qui que se soit (voir MFC [VC++ 2003][MFC] Probl�me d'affichage dans un CButton ou Picture Controle), voici une question qui, si elle est r�solu, pourra r�gler mon probl�me.

    Donc j'ai un buffer de type et de taille:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    static uInt8  *ImaqBuffer=NULL;    // acquisiton buffer
     
    ImaqBuffer = (uInt8 *) malloc(AcqWinWidth * AcqWinHeight * bytesPerPixel * sizeof(uInt8));
    ce buffer repr�sente une image de 1280x960 pixel.

    j'aimerai copier 1 pixel sur 3 dans un autre buffer du m�me type. Pour �a je suppose que je doit utiliser memcpy.

    Voil� ce que j'ai fais:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
    for(int i=0; i< size; i=i+3)
        {
    	memcpy((void *)ImaqBufferVisu[i],(void *)ImaqBuffer[i],(bytesPerPixel * sizeof(uInt8)));
        }
    Le compilo n'est pas d'accord avec �a, je suppose que j'ai mal attribu� le t_size de memcpy et que dans ma boucle il ne faut pas faire i=i+3 mais autre chose. Pourriez vous m'aider � r�soudre se probl�me, car une fois que j'aurai en quelque sorte compr�sser mon buffer, je pourrai le visualiser dans une fen�tre plus petite.

    merci bcp

  2. #2
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    135
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 135
    Par d�faut
    Voici ce que j'ai fait d'autre depuis ce matin, mais �a ne donne tjrs rien.
    Je ne suis pas dou� avec les allocation de m�moire...

    On r�capitule:

    d�finition variables globales:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    static uInt8        *ImaqBuffer=NULL;    // acquisiton buffer
    static uInt8        *ImaqBufferVisu=NULL;    // acquisiton buffer
    Allocation m�moire:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    ImaqBuffer = (uInt8 *) malloc(AcqWinWidth * AcqWinHeight * bytesPerPixel * sizeof(uInt8));
    ImaqBufferVisu = (uInt8 *) malloc(AcqWinWidth/3 * AcqWinHeight/3 * bytesPerPixel * sizeof(uInt8));
    Copie en 3 fois moins grand (tous les trois pixels)

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    AcqWinWidth=1280;
    AcqWinHeight=960;
    size = (AcqWinWidth * AcqWinHeight)/3;
     
    for(int i=0; i< size; i++)
    {
         memcpy((void*)&ImaqBufferVisu[i],(void*)&ImaqBuffer[i*3],bytesPerPixel * sizeof(uInt8));
    }
    mais �a ne veut toujours pas fonctionner, le compilateur s'arr�te quand i = 143288!! moi pas comprendre?!?

    Quelqu'un pourrai me dire se qui cloche la dedans?

    merci pour le coup de main.

  3. #3
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    135
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 135
    Par d�faut
    ok, je suis un gros null...

    AcqWinWidth/3 * AcqWinHeight/3 n'est pas �gale � (AcqWinWidth * AcqWinHeight)/3...

    d�soler pour le d�rrangement!!! lol

  4. #4
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    135
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 135
    Par d�faut
    eu en fait c pas finis...

    �a ne marche toujours pas...

    j'ai essay� �a:

    d�finition variables globales:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    static uInt8 *ImaqBuffer=NULL; // acquisiton buffer 
    static uInt8 *ImaqBufferVisu=NULL; // acquisiton buffer
    Allocation m�moire:


    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    ImaqBuffer = (uInt8 *) malloc(AcqWinWidth * AcqWinHeight * bytesPerPixel * sizeof(uInt8)); 
    ImaqBufferVisu = (uInt8 *) malloc(AcqWinWidth * AcqWinHeight * bytesPerPixel * sizeof(uInt8));
    une copie simple d'un buffer � l'autre

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
    AcqWinWidth=1280; 
    AcqWinHeight=960; 
     
    memcpy((void*)ImaqBufferVisu,(void*)ImaqBuffer, (AcqWinWidth * AcqWinHeight * bytesPerPixel * sizeof(uInt8)));
    et la aucun probl�me...

    mais si je veux faire une copie de mon buffer pour le compresser en ne copiant que 1 pixel sur trois, �a ne marche plus... je suis une bille avec la m�moire.

    Pouver m'aider s'vouplait

    merci

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [Excel 2003]Copie Cellules fichier A vers cellules fichier B
    Par jbulysse dans le forum Macros et VBA Excel
    R�ponses: 2
    Dernier message: 13/08/2010, 10h57
  2. Copie d'1 Memo vers un autre plus grand
    Par Cyrille36 dans le forum D�buter
    R�ponses: 4
    Dernier message: 01/07/2009, 12h31
  3. Win Server 2003 R2 - Restauration de ghost sur une partition plus petite
    Par super_boulet dans le forum Windows Serveur
    R�ponses: 7
    Dernier message: 23/01/2009, 12h06
  4. Copie de tables access vers Sql ?
    Par franck06 dans le forum D�cisions SGBD
    R�ponses: 2
    Dernier message: 01/03/2005, 14h10
  5. copie d'un fichier vers un autre serveur
    Par jexl dans le forum ASP
    R�ponses: 4
    Dernier message: 20/12/2004, 16h04

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