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 :

modifier une CBitmap avec du code


Sujet :

MFC

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 80
    Points : 39
    Points
    39
    Par défaut modifier une CBitmap avec du code
    re-bonjour,
    Je charge une image CBitmap avec la fonction LoadBitmap. J'aimerais savoir si je peux la modifier grace à du code comme par exemple:
    je charge une image de 100x16 toute bleu et je veux colorer la derniere colonne de pixel en blanc. Comment faire???

  2. #2
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    salut,
    avec VC.net il y a une classe CImage qui permet de faire ça avec la fonction
    SetPixel.
    sinon si c'est pour faire ça au moment de l'affichage, tu créés un dc en memoire tu charges le bitmap dedans et tu ecris une ligne blanche avec un CPen.
    ensuite tu projettes le bitmap sur le dc ecran..

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 80
    Points : 39
    Points
    39
    Par défaut
    Ca a l'air d'etre exactement ce que je veux !!!!!
    Je vais essayer tout de suite et si j'ai un probleme, je reposte!
    Merci beaucoup!

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 80
    Points : 39
    Points
    39
    Par défaut
    aie aie...
    j'ai essayé la methode CImage mais j'arrive à un plantage lors de l'execution...
    voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    CBitmap Bmp;
    CImage Image;
    int         i;
     
    Bmp.LoadBitmap(IDB_MON_IMAGE); // image 100x16 en couleur vraie Windows
    Image.Attach(Bmp, Image.DIBOR_DEFAULT);
     
    for(i=0; i<16;i++)
    {
      Image.SetPixel(100,i,RGB(0,0,0));
    }
    Mon probleme, c'est que le SetPixel plante (Debug Assertion Failed!)
    Quel est le probleme??? Est ce que le fait que mon image (Bmp) soit en couleur vraie peut poser un probleme?
    En fait, j'ai l'impression que le buffer contenant les pixel dans la classe CImage est vide. La taille de l'image est par contre bien renseignée...
    Quelqu'un a t'il une solution?

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 80
    Points : 39
    Points
    39
    Par défaut
    Je suis un idiot... j'ai trouvé l'erreur... mon image fait 100 pixels de long donc mon:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Image.SetPixel(100,i,RGB(0,0,0));
    est faux... il fallait plutôt mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Image.SetPixel(99,i,RGB(0,0,0));
    voila...

Discussions similaires

  1. commnet modifier une cellule avec jexcel
    Par remy85 dans le forum Documents
    Réponses: 1
    Dernier message: 05/06/2007, 04h22
  2. Modifier une ligne avec layout:collection
    Par imane_bennouna dans le forum Struts 1
    Réponses: 3
    Dernier message: 07/05/2007, 14h47
  3. Réponses: 1
    Dernier message: 21/02/2007, 01h29
  4. Lire et modifier une table avec plusieurs TQuery
    Par Alyx² dans le forum Bases de données
    Réponses: 4
    Dernier message: 18/08/2006, 13h09
  5. [Dates] Modifier une date avec 'substr'
    Par R'SKaP dans le forum Langage
    Réponses: 4
    Dernier message: 01/06/2006, 12h40

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