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 :

[VC++]Redimenssionner un Bitmap


Sujet :

MFC

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 24
    Par défaut [VC++]Redimenssionner un Bitmap
    Dans la FAQ pour redimenssioner y a ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    CMyView::OnDraw(CDC *pDC)
    {
        CBitmap Bitmap;
        CDC MemDC;
     
        Bitmap.LoadBitmap(IDB_BMPESSAI); // lecture bitmap dans les ressources
        BITMAP InfosBmp; // structure d'informations.
        Bitmap.GetBitmap(&InfosBmp);
        MemDC.CreateCompatibleDC(pDC);// creation d'un DC en memoire
        MemDC.SelectObject(&Bitmap); // selection du bitmap dans le DC en memoire
        // transfert final du bitmap dans le dc de la view.
        // zoom x 2
        CSize Size(InfosBmp.bmWidth *2 , InfosBmp.bmHeight *2);
        pDC->DPtoLP(&Size);// si le systeme de coordonnées n'est pas MM_TEXT
        pDC->StretchBlt( 0, 0,
                         Size.cx,-Size.cy,
                         &MemDC,
                         0, 0,
                         InfosBmp.bmWidth, InfosBmp.bmHeight,
                         SRCCOPY); 
    }
    Est-ce qu'en enlevant la fin :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     pDC->StretchBlt( 0, 0,
                         Size.cx,-Size.cy,
                         &MemDC,
                         0, 0,
                         InfosBmp.bmWidth, InfosBmp.bmHeight,
                         SRCCOPY);
    Ca permet de redimenssionner le bitmap sans l'afficher?

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 393
    Par défaut
    Ben non, c'est le StretchBlt() qui fait le redimensionnement...

    Par contre, en utilisant un second CDC, le bitmap dans celui-ci sera redimensionné (le bitmap original, lui, n'est modifié dans aucun cas)
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    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
    Par défaut
    oui, mais bon je ne vois pas trop l'interet ...

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 24
    Par défaut
    Citation Envoyé par farscape
    oui, mais bon je ne vois pas trop l'interet ...
    Redimenssionner un bitmap en fonction de la résolution de l'écran parce que après il faut dessiner dessus selon des pourcentages d'écrandu genre le trait doit être à 75% de l'écran quelque soit la résolution et la forme de l'écran.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 24
    Par défaut
    Mais je dis pas non pour faire un second CDC mais est-ce qu'on peut le faire sans l'afficher, le sauvegarder sous forme de bitmap et l'appeler sur le CDC courant?

  6. #6
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 393
    Par défaut
    Le second CDC, c'est justement pour ne pas l'afficher.
    Et ensuite, pour l'affichage, un petit BitBlt() du second CDC au CPaintDC, et hop, c'est affiché!
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

Discussions similaires

  1. Réponses: 2
    Dernier message: 08/10/2002, 18h26
  2. transfert d'un fichier bitmap en socket tcp
    Par localhost dans le forum C++Builder
    Réponses: 5
    Dernier message: 29/07/2002, 00h40
  3. Pb Lecture de bitmap monochrome
    Par Loïc38 dans le forum C++Builder
    Réponses: 4
    Dernier message: 02/07/2002, 18h24
  4. Lecture d'une image bitmap
    Par Geronimo dans le forum x86 32-bits / 64-bits
    Réponses: 18
    Dernier message: 28/06/2002, 12h01
  5. Comment faire pour créer un bitmap
    Par GliGli dans le forum C++Builder
    Réponses: 2
    Dernier message: 24/04/2002, 15h41

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