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 :

Impression "miroir" d'un DC


Sujet :

MFC

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 42
    Par défaut Impression "miroir" d'un DC
    Bonjour, actuellement j'imprime un DC et tout marche bien. Or la prchaine étape est d'imprimer le DC avec une symétrie d'axe vertical.

    Je m'arrache les cheveux, j'ai essayé avec la fonction StretchBlt mais je dois mal l'utiliser car ça ne marche pas non plus...

    Avez vous une solution?

    Merci d'avance.

    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
     
    PrintDC.StartPage();
    CRect dim =	m_pPropPrintDSV->DrawBandeType(PrintDC);
    PrintDC.EndPage();
     
    int total_pages =  int (dim.Width() / paper_width);
     
    for(int i = 1; i <= total_pages; i++)
    {
    	PrintDC.StartPage();
    	PrintDC.SetViewportOrg(- i*(paper_width), 0);
    	m_pPropPrintDSV->DrawBandeType(PrintDC);
    	PrintDC.EndPage();
    }
     
    PrintDC.EndDoc();
    PrintDC.Detach();
    PrintDC.DeleteDC();

  2. #2
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 539
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 539
    Par défaut
    As-tu essayé avec CDC :: PatBlt() ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 42
    Par défaut
    Merci Mat.M pour ta réponse, mais malhereusement ça ne marche pas, je l'ai tourné dans tous les sens...

    Si vous avez d'autres propositions.

  4. #4
    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,

    c'est quoi que tu veux imprimer dans l'autre sens, un bitmap ou des fonctions de dessin ?

    moi je changerai plutot le MapMode pour le mettre sur MM_ANISOTROPIC et je réglerai les échelles (ViewportExt et WindowExt)

    suffit de mettre le couple (1,1) / (1,-1) en échelle pour faire les inversions

    si c'est un bitmap, ça peut se faire plus simplement en modifiant le BITMAPHEADER par ex...

    @+

  5. #5
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 539
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 539
    Par défaut
    C"est une bonne idée de steph_dim ;Syn42 regarde dans le MSDN sur SetWorldTransform je viens de découvrir une nouvelle fonction du GDI qui semble bien être intéressante

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