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

C# Discussion :

Imprimer le contenu d'une form


Sujet :

C#

  1. #1
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut Imprimer le contenu d'une form
    Bonjour,

    Hier je cherchais comment imprimer le contenu d'u PictureBox
    J'ai malheureusement toujours pas reussi a faire quelque chose

    Entretemps j'aimerais aussi pouvoir imprimer le contenu complet de la fenetre. Est-il possible trouver des exemples de cela ?
    « Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain)

  2. #2
    Expert éminent sénior
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Points : 13 380
    Points
    13 380
    Par défaut
    Tu peux simuler un Alt+ImprEcran et après rechercher dans le presse-papier.

    Après faut que le focus soit sur ta fenêtre.
    Introduction à Silverlight 4 (new) ; Localisation d'une application Silverlight (new) ;
    Mon espace perso[/B]

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. Albert Einstein[/SIZE]

  3. #3
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Merci Skyrunner

    Je viens aussi de trouver Graphics.CopyFromscreen

    Ca marche, sauf que le pixelsize me donne une image imprimmée toute petite

    On peut resizer cela ?
    Je ne sais pas si Alt+ImprEcran donne un autre résultat ?

    Et pour la simulation Alt+ImprEcran ou de n'importe quell touche, ca se passe comment ?

    J'ai trouve SendKey mais je vois pas clairement comment l'utiliser
    Et encore moins comment recuperer ensuite le contenu du clipboad pour l'imprimer. Quel serait l'avantage par rapport a CopyFromScreen ?
    « Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain)

  4. #4
    Expert éminent sénior
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Points : 13 380
    Points
    13 380
    Par défaut
    Alors pour simuler les touches il faut effectivement utiliser SendKeys

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SendKeys.Send("%{PRTSC}");
    Le % représente le Alt.

    Après pour récupérer dans le presse papier
    http://msdn.microsoft.com/fr-fr/libr...x4(VS.80).aspx

    Par contre ton problème de taille j'ai pas bien compris.

    [EDIT] Bon en fait y'avait un truc dans la FAQ
    http://faqcsharp.developpez.com/?pag...us_printscreen
    Introduction à Silverlight 4 (new) ; Localisation d'une application Silverlight (new) ;
    Mon espace perso[/B]

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. Albert Einstein[/SIZE]

  5. #5
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Merci Skyrunner

    Ca m'aide

    Pour la taille, voici le problème

    Truc tout simple que je fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        private void pd_PrintPage(object sender, PrintPageEventArgs ev)
        {
          Point pos = new Point(10, 10);
          ev.Graphics.CopyFromScreen(this.Location,pos,new Size(1000, 1000));
          ev.HasMorePages = false;
        }
    En faisant ca, je capture et j'imprime une zone d'ecran de 1000 x 1000 pixels dont l'origine est ma form active

    Mais toute imprimante qui se respecte a au moins du 300 dpi de résolution, donc cette image occupera +/- 8 x 8 cm sur la page

    La mienne faisant 600 dpi, j'ai une image de 4 x 4

    Je souhaiterais agrandir cela !
    « Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain)

  6. #6
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Salut Skyrunner

    Je viens de regarder le code dans la faq
    En fait le truc ne fait rien de plus que ce que je fais déja avec le CopyFromScreen puisqu'il capture de maniere détournée une zone d'écran pour la mettre en definitive dans un bitmap

    Tout le problème du print et du sizing de ce bitmap reste entier

    Ce qui me chipote par contre c'est que si j'utilise le Graphics.DrawImage de mon picture box, la taille imprimée semble etre ajustée pour correspondre +/- à la taille ecran. Il y a donc qq part une intelligence de sizing implicite ! Comment la controler ??

    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
       private void pd_PrintPage(object sender, PrintPageEventArgs ev)
        {
          Point pos = new Point(10, 10);
          // ev.Graphics.CopyFromScreen(this.Location,pos,new Size(4000, 4000));
          ev.Graphics.DrawImage(pb_zoom.Image,pos);
          for (int i = 0; i < ToursA.Count; i++)
          {
            if (!ToursA[i].Zie) continue;
            S_Tours cTour = ToursA[i];
             float PenSize = 1.0f;
            if (cTour.Werk)
            {
              PenSize = 2.0f;
            }
            DisplayZoomTour(cTour.Tour, ev.Graphics, cTour.Kleur, false, PenSize);
          }
     
          ev.HasMorePages = false;
        }
    « Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain)

  7. #7
    Expert éminent sénior
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Points : 13 380
    Points
    13 380
    Par défaut
    J'avoue que le problème de la taille, je ne vois pas très bien comment le résoudre. Faudrait que je test.
    Introduction à Silverlight 4 (new) ; Localisation d'une application Silverlight (new) ;
    Mon espace perso[/B]

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. Albert Einstein[/SIZE]

  8. #8
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Merci

    Si je trouve qq chose je le signale !
    « Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain)

Discussions similaires

  1. Réponses: 3
    Dernier message: 15/10/2014, 15h27
  2. imprimer le contenu d'une windows form
    Par quelq'un dans le forum Windows Forms
    Réponses: 2
    Dernier message: 25/01/2010, 20h32
  3. [C#] Imprimer le contenu d'une fenêtre avec ascenseur
    Par biglong dans le forum Windows Forms
    Réponses: 6
    Dernier message: 06/08/2007, 23h29
  4. imprimer le contenu d'une TPaintBox
    Par stimbo dans le forum C++Builder
    Réponses: 2
    Dernier message: 15/03/2004, 19h42
  5. [Kylix] Imprimer le contenu d'une boîte de dialogue
    Par cmp-france dans le forum EDI
    Réponses: 13
    Dernier message: 18/10/2003, 20h31

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