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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Private Sub bTst_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles bTst.Click DessinerSurBitmap() End Sub
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 SubLe 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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
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.
Partager