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

VB.NET Discussion :

Imprimer une picture box centrée et étirée?


Sujet :

VB.NET

  1. #1
    Membre confirmé
    Inscrit en
    Février 2008
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 123
    Par défaut Imprimer une picture box centrée et étirée?
    Bonjour

    J'arrive à imprimer une image, mais celle ci n'est pas centrée, ni étirée. Je voudrais qu'elle le soit mais ne trouve pas d'info permettant de ce faire... c'est probablement tout bête mais bon.

    Mon code:

    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
    22
    23
    24
    25
    26
        Private Sub CmdPrint_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdPrint.Click
            'Dim pd As Printing.PrintDocument = New Printing.PrintDocument
            'Dim print1 As PrintDialog = New PrintDialog
            'print1.Document = pd
            'If (print1.ShowDialog() = Windows.Forms.DialogResult.OK) Then
            '    pd.Print()
            'End If
            Dim MyPrintDialog As New PrintDialog()
            MyPrintDialog.AllowCurrentPage = False
            MyPrintDialog.AllowPrintToFile = False
            MyPrintDialog.AllowSelection = False
            MyPrintDialog.AllowSomePages = False
            MyPrintDialog.PrintToFile = False
            MyPrintDialog.ShowHelp = False
            MyPrintDialog.ShowNetwork = False
            If MyPrintDialog.ShowDialog() <> Windows.Forms.DialogResult.OK Then Exit Sub
            PrintDocument1.DocumentName = "Test"
            PrintDocument1.PrinterSettings = MyPrintDialog.PrinterSettings
            PrintDocument1.DefaultPageSettings = MyPrintDialog.PrinterSettings.DefaultPageSettings
            PrintDocument1.DefaultPageSettings.Margins = New Printing.Margins(40, 40, 40, 40)
            PrintDocument1.Print()
        End Sub
     
        Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
            e.Graphics.DrawImage(Me.pb1.Image, 10, 10)
        End Sub

  2. #2
    Membre éclairé Avatar de grrrkewel
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 72
    Par défaut
    salut GriffinK,

    c'est probablement tout bête mais bon.
    c'est tout bête pour une personne qui le sait, mais quand on l'ignore, il est possible de tourner autour pendant des piges:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage
    Comme c'est écrit, l'image sera étirée.
    Pour les autres membres de PictureBoxSizeMode, cf MSDN

  3. #3
    Membre confirmé
    Inscrit en
    Février 2008
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 123
    Par défaut
    Citation Envoyé par grrrkewel Voir le message
    salut GriffinK,



    c'est tout bête pour une personne qui le sait, mais quand on l'ignore, il est possible de tourner autour pendant des piges:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage
    Comme c'est écrit, l'image sera étirée.
    Pour les autres membres de PictureBoxSizeMode, MSDN
    Merci pour ta réponse

    Il me semble que cette commande est à utiliser pour centrer le jpg dans le picturebox.
    Je voudrais le même résultat mais sur la feuille imprimée tu vois ce que je veux dire ?

  4. #4
    Membre éclairé Avatar de grrrkewel
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 72
    Par défaut
    Parce que sur la feuille de base, ton image est comment? Tu dois pouvoir la grossir au moment de l'impression? tu pourrais tout de même passer via la fonction de la picturebox au moment ou tu imprimes, et ensuite remettre l'image comme telle (c'est moche, m'enfin...)

  5. #5
    Membre confirmé
    Inscrit en
    Février 2008
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 123
    Par défaut
    Citation Envoyé par grrrkewel Voir le message
    Parce que sur la feuille de base, ton image est comment? Tu dois pouvoir la grossir au moment de l'impression? tu pourrais tout de même passer via la fonction de la picturebox au moment ou tu imprimes, et ensuite remettre l'image comme telle (c'est moche, m'enfin...)
    Dans mon soft, l'image est dans un picture box, adaptée à la taille de ce dernier.
    Pour la suite, je ne vois pas ce que tu veux dire ?

  6. #6
    Membre éclairé Avatar de grrrkewel
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 72
    Par défaut
    Dans mon soft, l'image est dans un picture box, adaptée à la taille de ce dernier.
    Et tu voudrais pouvoir imprimer cette image en grand format, c'est ça?
    [je suis grandement à la masse ce jour ]

  7. #7
    Membre confirmé
    Inscrit en
    Février 2008
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 123
    Par défaut
    Citation Envoyé par grrrkewel Voir le message
    Et tu voudrais pouvoir imprimer cette image en grand format, c'est ça?
    [je suis grandement à la masse ce jour ]
    Oui c'est exactement ça

    Je voudrais qu'elle soit étirée et centrée avec une marge minimum (par exemple 10 sur chaque côté).

  8. #8
    Membre éclairé Avatar de grrrkewel
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 72
    Par défaut
    alors dans ce cas là, tu peux agrandir ta picturebox au moment de l'impression (afin qu'elle recouvre toute ta forme) et dès que c'est fait (l'impression), tu remets les dimensions initiales à ta picturebox. c'est une solution moyenne à mon avis mais je ne vois que ça, et c'est pour ça que je disais que c'était moche
    Citation Envoyé par GrrrKewel
    et ensuite remettre l'image comme telle (c'est moche, m'enfin...)
    Si tu n'arrives pas à me suivre, je serais ravis de me réexpliquer, je sens que je ne suis pas clair

  9. #9
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 202
    Par défaut
    tu utilises
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     e.Graphics.DrawImage(Me.pb1.Image, 10, 10)
    pour dessiner l'image sur la feuille virtuelle qui va sortir de l'imprimante

    DrawImage comme tu l'utilises affiche l'image à sa taille normale aux coordonnées 10,10

    DrawImage possède 30 surcharges dont une qui permet de spécifier la taille de l'image, il faut donc que tu dises que tu veux qu'elle fasse la taille de la feuille
    pour ca printer doit te donner sa taille

    pour le centrage éventuel, il est à calculer aussi, afin de modifier 10,10 en ce qu'il faut



    @grrrkewel
    ca ne peut pas marcher la bidouille du picturebox
    car l'image reste la même, elle n'est pas agrandie, c'est au moment de l'affichage que le picturebox utilises la surcharges de drawimage qui agrandit
    il dessine donc l'image étirée, mais garde en ram l'image normale
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  10. #10
    Membre confirmé
    Inscrit en
    Février 2008
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 123
    Par défaut
    Citation Envoyé par sperot51 Voir le message
    tu utilises
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     e.Graphics.DrawImage(Me.pb1.Image, 10, 10)
    pour dessiner l'image sur la feuille virtuelle qui va sortir de l'imprimante

    DrawImage comme tu l'utilises affiche l'image à sa taille normale aux coordonnées 10,10

    DrawImage possède 30 surcharges dont une qui permet de spécifier la taille de l'image, il faut donc que tu dises que tu veux qu'elle fasse la taille de la feuille
    pour ca printer doit te donner sa taille

    pour le centrage éventuel, il est à calculer aussi, afin de modifier 10,10 en ce qu'il faut



    @grrrkewel
    ca ne peut pas marcher la bidouille du picturebox
    car l'image reste la même, elle n'est pas agrandie, c'est au moment de l'affichage que le picturebox utilises la surcharges de drawimage qui agrandit
    il dessine donc l'image étirée, mais garde en ram l'image normale
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
        Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
            e.Graphics.DrawImage(Me.pb1.Image, 10, 10, e.PageBounds.Width - 20, e.PageBounds.Height - 20)
        End Sub
    Ou comment remplacer 170 lignes de code par une...ça roule sperot51, merci à toi aussi

  11. #11
    Membre éclairé Avatar de grrrkewel
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 72
    Par défaut
    ouais merci à toi Sperot de me rédiculiser ... non, sérieusement, merci, certain que ça me reservira, et promis, j'arrête la bidouille...quoique

  12. #12
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 202
    Par défaut
    on en apprend tous les jours
    et je te rassure je dis aussi des conneries des fois
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  13. #13
    Membre confirmé
    Inscrit en
    Février 2008
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 123
    Par défaut
    Citation Envoyé par grrrkewel Voir le message
    ouais merci à toi Sperot de me rédiculiser ... non, sérieusement, merci, certain que ça me reservira, et promis, j'arrête la bidouille...quoique
    On est tous là pour apprendre

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. comparer une picture box et une image dans une imagelist
    Par nair17 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 02/03/2009, 13h36
  2. Enregistrer une picture box avec son contenu
    Par kinkinhxc dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 10/03/2008, 15h36
  3. Bloquer une picture box aux limites de mon form
    Par obito dans le forum Windows Forms
    Réponses: 7
    Dernier message: 15/01/2008, 21h18
  4. creer une picture box
    Par Finality dans le forum Windows Forms
    Réponses: 2
    Dernier message: 18/11/2007, 00h02
  5. gerer une picture box
    Par mcf1 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 02/01/2007, 11h03

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