Bitmap et chaîne de caractères
Bonjour Madame, Monsieur.
J'ai constaté un dysfonctionnement dans le dessin d'une chaîne de caractères sur un bitmap. Voici le code qui met cela en évidence :
Code:
1 2 3
| Private Sub Accueil_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
DessinerSurForm()
End Sub |
Code:
1 2 3
| Private Sub bTst_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles bTst.Click
DessinerSurBitmap()
End Sub |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| Private Sub DessinerSurForm()
Dim Des As Graphics
Des = Me.CreateGraphics()
Dim Crn As New Pen(Color.Black, 1)
Dim Pnc As New SolidBrush(Color.Black)
Dim Fnt As New Font("Times New Roman", 10, FontStyle.Regular)
Dim Pnt As New PointF(1, 1)
Des.DrawString("Point", Fnt, Pnc, Pnt)
Des.DrawRectangle(Crn, 0, 0, 40, 15)
Des.Dispose()
End Sub |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| Private Sub DessinerSurBitmap()
Dim Bmp As Bitmap = New Bitmap(200, 200)
Dim Des As Graphics = Graphics.FromImage(Bmp)
Dim Crn As New Pen(Color.Black, 1)
Dim Pnc As New SolidBrush(Color.Black)
Dim Fnt As New Font("Times New Roman", 10, FontStyle.Regular)
Dim Pnt As New PointF(1, 1)
Des.DrawString("Point", Fnt, Pnc, Pnt)
Des.DrawRectangle(Crn, 0, 0, 40, 15)
pBox.Image = Bmp.Clone : Bmp.Dispose()
Des.Dispose()
End Sub |
Le programme ne contient qu'un objet Form nommé Accueil, sur lequel sont déposés un bouton de commande bTst et un contrôle PictureBox nommé pBox. Par ailleurs les quatre procédures ci-dessus sont contenus dans la partie code de la Form.
J'attire votre attention sur le fait que les lignes 5 à 10 des deux dernières procédures sont absolument identiques. Or, après un clic sur le bouton bTst, les textes apparaissant sur Accueil et sur pBox sont différents. Le premier ressemble à ce que l'on obtient et tapant du texte dans Word. Le second est un affreux pâté. Qui pourrait me dire comment corriger cela ?
Merci d'avance.