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 :

Aide bitmap MFC


Sujet :

MFC

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    23
    D�tails du profil
    Informations personnelles :
    �ge : 43
    Localisation : France, Dr�me (Rh�ne Alpes)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 23
    Par d�faut Aide bitmap MFC
    Bonjour � tous

    Situation : Je suis une quiche en visual c++ (c'est juste pour pr�venir )

    Besoin : j'ai besoin sur une Dialog d'ins�rer un bitmap "dynamique".Je travaille avec une MFC(je travaille en visual 6).

    En effet en fonction de certains param�tres, je veux pouvoir changer chaque pixel ind�pendamment d'une couleur a une autre (noir ou blanc par exemple) et cela de mani�re dynamique.
    Je me suis pench� sur l'objet CBitmap. Est ce a votre avis un choix judicieux?

    Autre souci :
    J'aimerais �galement cr�er un bouton dynamiquement. Comment faire??
    Pour le moment mon code est le suivant :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    CButton test;
    CRect rect;
     
    test.Create(_T("My button"), WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON, 
       CRect(10,10,100,30), this, 1);
    Cependant comment fait on pour l'afficher SUR LA FENETRE????
    Je pense qu'il faut r�cup�rer un pointeur.. mais �tant en manque de connaissance en visual :s... j'ai besoin d'aide (merci d'avance )

  2. #2
    Membre �clair�
    Profil pro
    System Integration Project Manager
    Inscrit en
    Octobre 2006
    Messages
    219
    D�tails du profil
    Informations personnelles :
    �ge : 51
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : System Integration Project Manager
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 219
    Par d�faut
    Bonjour

    Citation Envoy� par Xaladra Voir le message
    Bonjour � tous
    En effet en fonction de certains param�tres, je veux pouvoir changer chaque pixel ind�pendamment d'une couleur a une autre (noir ou blanc par exemple) et cela de mani�re dynamique.
    Je me suis pench� sur l'objet CBitmap. Est ce a votre avis un choix judicieux?
    Pour moi, CBitmap n'est pas le plus adapt� pour changer la couleur d'un (ou plusieurs) pixel(s) car il n'y a pas de methode du genre GetPixel(x,y). De plus, CBitmap peut stocker des images de differentes profondeurs (8 bits/16 bits luminance ou couleur/24 bits RGB ou 32 bits RGBA).
    Si tu dois modifier des images et les afficher 'de temps en temps', pourquoi ne pas utiliser des tableaux 2D "fait maison" ?
    Citation Envoy� par Xaladra Voir le message
    Autre souci :
    J'aimerais �galement cr�er un bouton dynamiquement. Comment faire??
    Pour le moment mon code est le suivant :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    CButton test;
    CRect rect;
     
    test.Create(_T("My button"), WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON, 
       CRect(10,10,100,30), this, 1);
    Cependant comment fait on pour l'afficher SUR LA FENETRE????
    Je pense qu'il faut r�cup�rer un pointeur..
    Pas n�cessairement
    Citation Envoy� par Xaladra Voir le message
    mais �tant en manque de connaissance en visual :s... j'ai besoin d'aide (merci d'avance )
    recuperer le pointeur de ton objet n'est pas sp�cifique a MFC, c'est C/C++...

    pour afficher ton bouton :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    test.ShowWindow(SH_SHOW);
    . Personnellement j'utilise

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    23
    D�tails du profil
    Informations personnelles :
    �ge : 43
    Localisation : France, Dr�me (Rh�ne Alpes)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 23
    Par d�faut
    Pour moi, CBitmap n'est pas le plus adapt� pour changer la couleur d'un (ou plusieurs) pixel(s) car il n'y a pas de methode du genre GetPixel(x,y). De plus, CBitmap peut stocker des images de differentes profondeurs (8 bits/16 bits luminance ou couleur/24 bits RGB ou 32 bits RGBA).
    Si tu dois modifier des images et les afficher 'de temps en temps', pourquoi ne pas utiliser des tableaux 2D "fait maison" ?
    Je suis en train de porter un "moteur graphique" d'une appli embarqu� sur windows donc.. j'ai besoin d'un bitmap afin d'y travailler dedans (pixel par pixel).
    As tu une id�e de la classe Bitmap que je dois utilis�

    Merci pour le code poru le button, seul hic ca amrche pas :s

    Voila mon code plac� dans un boutton
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    CButton test;
    CRect rect;
    test.Create(_T("My button"), WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON, CRect(10,10,100,30), this, 1);
    test.ShowWindow(true);

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    23
    D�tails du profil
    Informations personnelles :
    �ge : 43
    Localisation : France, Dr�me (Rh�ne Alpes)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 23
    Par d�faut
    Bon pourl bouton tout est oki

    Pour le bitmap, y a t il quelqu'un qui a des id�es? je viens de faire un createbitmap, seulement comment l'affiche t'on dans la dialog (pas de m�thode showwindows).

    Je pr�cise que le Bitmap en question n'est pas un fichier .bmp, mais plus une zone pour dessin� bit a bit

  5. #5
    Membre chevronn� Avatar de stephdim
    Profil pro
    Inscrit en
    Ao�t 2007
    Messages
    462
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2007
    Messages : 462
    Par d�faut
    salut,

    pour le bouton, �a vient du fait que ta variable CButton est local, donc le destructeur est appel� en sortant de la fonction.
    Ta variable doit etre membre de la classe CDialog, donc persistante tant que la boite de dialogue existe

    CBitmap est tr�s bien adapt� pour faire ce que tu veux:

    deux fa�on de faire:

    avec GetPixel() et SetPixel() en s�lectionnant ton bitmap dans un Memory Device Context (CDC :: CreateCompatibleDC() )

    ou bien faire une DIB Section, et avoir acc�s directement au buffer de l'image, peut �tre mieux dans ton cas
    --> regarde bien la MSDN � la fonction CreateDIBSection()
    puis avec le handle retourn� par cette fonction, tu fais un CBitmap::Attach()

    @+

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    23
    D�tails du profil
    Informations personnelles :
    �ge : 43
    Localisation : France, Dr�me (Rh�ne Alpes)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 23
    Par d�faut
    LE hic c'est que mon Bitmap n'est pas un fichier.

    Je voudrais d�finir une zone de dessin de ma Dialog, ou je pourrait piloter les pixels 1 par 1, en switchant la couleur du blanc au noir.

    Avez vous une id�e?

Discussions similaires

  1. Aide multithreading MFC
    Par gpcbitnik38 dans le forum MFC
    R�ponses: 0
    Dernier message: 22/10/2014, 14h51
  2. Opencv Rafraichissement bitmap MFC
    Par masteronboard dans le forum MFC
    R�ponses: 7
    Dernier message: 17/09/2010, 14h15
  3. Aide pour MFC
    Par tonyhv dans le forum IHM
    R�ponses: 6
    Dernier message: 22/03/2010, 18h58
  4. [MFC] bouton bitmap!!
    Par ventreapatte dans le forum MFC
    R�ponses: 4
    Dernier message: 29/05/2008, 19h22
  5. R�ponses: 2
    Dernier message: 20/01/2004, 14h27

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