none
Imprimer des lignes dans un picturebox RRS feed

  • Question

  • Salut !
    Je souhaite imprimer une image avec des lignes tracées. L'image s'imprime mais pas les lignes. Pourquoi ?

    Je trace mes lignes comme ça :
            Dim Lignes As Graphics
            Lignes = PictureBox1.CreateGraphics
            Lignes.DrawLine(Pens.Black, 0, 0, 0, 5)

    puis j'imprime comme ça :
        Private WithEvents docToPrint As New Printing.PrintDocument

        Private Sub document_PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles docToPrint.PrintPage
            'Paramètre d'impression
            e.Graphics.DrawImage(PictureBox1.Image, 26, 26, 1085, 725)
        End Sub

        Private Sub TSButtonImprime_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSButtonImprime.Click
            'Imprimer
            Try
                PrintDialog1.ShowHelp = True
                PrintDialog1.Document = docToPrint
                Dim result As DialogResult = PrintDialog1.ShowDialog()
                If (result = DialogResult.OK) Then
                    docToPrint.DefaultPageSettings.Landscape = True
                    docToPrint.Print()
                End If
            Catch ex As Exception
                MsgBox(ex.Message)
            End Try
        End Sub

    Merci pour vos réponses.

    lundi 6 décembre 2010 00:23

Réponses

  • >          Dim Lignes As Graphics
    >          Lignes = PictureBox1.CreateGraphics
    >          Lignes.DrawLine(Pens.Black, 0, 0, 0, 5)
     
    Pas sûr que les lignes tracées sur le PictureBox en modifient l'image.
     
    > System.Drawing.Printing.PrintPageEventArgs) Handles docToPrint.PrintPage
    >          'Paramètre d'impression
    >          e.Graphics.DrawImage(PictureBox1.Image, 26, 26, 1085, 725)
    >      End Sub
     
    Je vois deux possibilités.
    Modifier l'image elle même (Graphics.FromImage)
    Retracer les lignes dans l'évènement PrintPage.
     --
    Fred
    foleide@free.fr
     
    lundi 6 décembre 2010 08:46

Toutes les réponses

  • Bonjour

     

    Essayez avec How to: Print a Windows Form pour imprimer tout ce qui s'affiche sur l'interface.

    lundi 6 décembre 2010 03:10
  • >          Dim Lignes As Graphics
    >          Lignes = PictureBox1.CreateGraphics
    >          Lignes.DrawLine(Pens.Black, 0, 0, 0, 5)
     
    Pas sûr que les lignes tracées sur le PictureBox en modifient l'image.
     
    > System.Drawing.Printing.PrintPageEventArgs) Handles docToPrint.PrintPage
    >          'Paramètre d'impression
    >          e.Graphics.DrawImage(PictureBox1.Image, 26, 26, 1085, 725)
    >      End Sub
     
    Je vois deux possibilités.
    Modifier l'image elle même (Graphics.FromImage)
    Retracer les lignes dans l'évènement PrintPage.
     --
    Fred
    foleide@free.fr
     
    lundi 6 décembre 2010 08:46
  • Merci !

    Graphics.FromImage était la solution mais je dois refaire les tracés car cela ne se place pas aux bons endroits.

    lundi 6 décembre 2010 17:08