2017-10-20 12 views
0

J'ai donc fait un dessin dans une boîte d'image. Je dessine dans un BMP puis charger le BMP dans le picturebox en utilisant ce code:VB.net - boîte d'image d'impression

PcbNetwerk.BackgroundImage = bmpNO 

J'essaie d'imprimer en utilisant le code suivant:

Dim WithEvents PrintDoc As New PrintDocument() 

Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDoc.PrintPage 

    e.Graphics.DrawImage(PcbNetwerk.Image, 0, 0) 

End Sub 

Private Sub BtnPrintNetwerk_Click(sender As Object, e As EventArgs) Handles BtnPrintNetwerk.Click 

    If PrintDialog1.ShowDialog = DialogResult.OK Then 
     PrintDocument1.Print() 
    End If 

End Sub 

mais uniquement afficher les résultats en gravures vierges. Aussi quand je choisis une imprimante de papier je finis seulement avec un fichier PDF vide. J'ai cherché une solution pendant des heures maintenant mais tout ce que je trouve ramène au même genre de code et j'obtiens les mêmes résultats (pages vierges et dans certains cas mon programme se bloque même). La taille que je veux imprimer est le format paysage A3.

+0

Je ne sais pas quoi que ce soit sur le rendu bitmaps, donc ma suggestion est d'essayer d'autres types de fichiers. Obtenez quelque chose, n'importe quoi, là d'abord, puis essayez de comprendre pourquoi votre image n'est pas affichée. Pouvez-vous l'obtenir pour imprimer du texte, par exemple? –

+0

quand je veux imprimer le texte je devrais remplacer le e.Graphics.DrawImage (PcbNetwerk.Image, 0, 0) dans PrintDocument1 mais qu'est-ce que j'emploie pour placer une chaîne là? par exemple "test impression de cette page" –

+0

Je ne sais pas, vous pouvez google autour ou vérifier d'autres questions ici pour cela. Avez-vous essayé le débogage? Placez un point d'arrêt sur votre instruction draw, examinez/observez la valeur de PcbNetwerk.Image, etc. Ensuite, vous pouvez revenir avec des informations sur la nature du problème - peut-être que votre image n'est pas correctement chargée. –

Répondre

0

ainsi picturebox1.image a abouti à un fichier empy. pour résoudre ce problème que j'ai créé:

Public Netwerkoverzicht As Image

dans la classe publique de ma forme.

J'enregistré le fichier bmp que je produis dans un de mes sous-marins à ce public d'image je faire et utiliser le code suivant où je remplacerai PcbNetwerk.image avec Netwerkwerkoverzicht

Dim WithEvents PrintDoc As New PrintDocument() 

Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDoc.PrintPage 

e.Graphics.DrawImage(Netwerkoverzicht, 0, 0) 

End Sub