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

MFC Discussion :

affichage rapide d'un tableau


Sujet :

MFC

  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 105
    Par défaut affichage rapide d'un tableau
    bonjour
    je dois afficher dans une fenetre VIEW des pixels. Chaqu'un de ces pixels sont codés par des valeurs stockées dans un tableau (a deux dimensions). J'utilise pour le moment une double boucle pour parcourir la matrice et SetPixel pour les afficher, mais cela prend trop de temps. Comment puis-je faire pour accélérer le debit d'affichage?
    je pensais a un tableau a une dimension ou une autre fonction que setPixel?

    d'avance je vous remercies.

  2. #2
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    salut, tu peux utiliser les objets bitmap du GDI et SetDIBits pour aller plus vite

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 105
    Par défaut
    merci tu n'aurais pas un exemple ou un lien vers un tuto???

  4. #4
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    tu peux commencer par regarder l'aide sur msdn : http://msdn.microsoft.com/library/de...tmaps_0qk3.asp

  5. #5
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    sinon, dans le meme genre, tu as aussi SetDIBitsToDevice

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 105
    Par défaut
    je comprend pas trop les arguments (surtout ceux vers la fin) ceux avec les scan lines???

  7. #7
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 105
    Par défaut
    je n'arrive pas utiliser les DI et je comprend pas ce que c'est les header d'un bitmaps?? quelqu'un serait il m'aider...

  8. #8
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    grosso modo (voir mon MP) le header d'un bitmap va te permettre de définir sa taille, sa compression, le nombre de bits, etc ...

    Ensuite, il faut utiliser SetDIBits
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SetDIBits(hdc,hBmp,0,hauteur,data,&bmpInfo.bmih,DIB_RGB_COLORS)

  9. #9
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 105
    Par défaut
    ca represente quoi cette instruction??
    &bmpInfo.bmih
    c'est l'header??? ou autre chose que je dois definir en plus???

  10. #10
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    bmpInfo est de type BITMAPINFO, pardon pour le copier coller, je me suis trompé, il n'y a pas de bmih
    il faut bien lui passer un pointeur vers un BITMAPINFO

  11. #11
    mat.M
    Invité(e)
    Par défaut
    Sinon créer un HDC / CDC en mémoire
    Voir la FAQ

  12. #12

  13. #13
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 105
    Par défaut
    les data elles doivent bien s etrouver dans un tableau a deux dimensions non???

  14. #14
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 105
    Par défaut
    personne ne serait me donner un exemple d'affichage dans un VIEW a partir d'un tableau à deux dimensions.
    merci d'avance de votre aide

  15. #15
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 105
    Par défaut
    et avec BitBlt ca n'irait pas plus facilement (le probleme avec cette focntion c'est que je vois pas comment l'utiliser avec un tableau de nbre)

  16. #16
    mat.M
    Invité(e)
    Par défaut
    Citation Envoyé par exter666
    et avec BitBlt ca n'irait pas plus facilement (le probleme avec cette focntion c'est que je vois pas comment l'utiliser avec un tableau de nbre)
    OUI mais pour remplir le tableau il faut utiliser AVANT GetDibits ou SetDibits !

    Sinon j'avais oublié de préciser que au lieu de faire 2 boucles imbriquées le fait de boucler en X d'abord puis en Y c'est plus rapide ( ou vice-versa )
    ( Faire l'essai )

    BitBlt n'affiche qu' un tableau de bits initialisés au préalable ( voir dans le MSDN )

    Pour écrire dans le tampon avant SetDibits c'est selon la formule tampon[indice]=( coordonnee Y* offset ) + X
    offset correspond à la taille de l'image ( par exemple 640*480 )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SetDIBits(hdc,hBmp,0,hauteur,data,&bmpInfo.bmih,DIB_RGB_COLORS)
    Il faut utiliser ce qu' a donné Nico-Pyright , le tout est de déterminer data ( le tableau de bits )

  17. #17
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 19
    Par défaut
    J'ai exactement le même problème que exter666, je veins d'ailleurs de poster la même question (voir http://www.developpez.net/forums/viewtopic.php?t=325554). Je vens de lire la réponse de ce post mais je ne parviens topujours pas à résoudre mon problème. Comment utiliser SetDIBitsToDevice car mon image semble s'afficher mais au lieu de s'afficher en niveau de gris sur 8 bits (BYTE 0 à 255), il y a des chose bizare (voir mon post) : les pixels ne sont pas en niveau de gris.

    D'où vient le problème ? De l'utilisation de la méthode ou alors de la structure de ma Bitmap (BITMAPINFO, comment utiliser le RGBQUAD et qu'est-ce que c'est ?) ?

    Ca fais bcp de question, please help... C'est la dernière ligne droite pour réaliser mon interface graphique et je dois présenter le projet jeudi 21/04 !

    Merci.

Discussions similaires

  1. Affichage javascript total ligne tableau dynamique
    Par falz222 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 29/08/2006, 19h17
  2. [MySQL] Affichage 1 résultat / 1 tableau
    Par oceane751 dans le forum PHP & Base de données
    Réponses: 24
    Dernier message: 01/05/2006, 19h22
  3. [MySQL] Problème d'affichage sous forme de tableau
    Par mogway95 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 01/03/2006, 16h31
  4. [Tableaux] Affichage valeur d'un tableau trié
    Par kcizth dans le forum Langage
    Réponses: 1
    Dernier message: 05/01/2006, 15h47
  5. [VB.NET] - affichage dynamique dans un tableau
    Par karibouxe dans le forum ASP.NET
    Réponses: 8
    Dernier message: 20/06/2005, 15h07

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