Bonjour,

J'ai cree un Label qu'on peut bouger sur une Image (Image dans un PictureBox).
Je peux changer le font du text contenu dans le Label via un bouton.
Maintenant, je voudrais ecrire le contenu de mon Label sur l'Image: le texte sur l'image devra etre de la meme taille que le text de mon Label et au meme endroit.

C'est la que j'ai un probleme: comment transferer la taille affichee du label sur mon image?
Le code ci-dessous montre en partie ce que j'ai fais (mais c'est un peu brouillon et en plus il y a layout.Y au lieu du layout.X pour avoir la position correcte, autre petit probleme a resoudre quand j'aurais les yeux en face des trous).

En esperant avoir ete compris. Merci.
JLuc01

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
27
28
29
30
31
32
33
34
35
36
37
 
            Dim cloneBitmap As Bitmap = Nothing
            Dim fs As New System.IO.FileStream(myPath, System.IO.FileMode.Open, System.IO.FileAccess.Read)
            'Dim img2 As Image = Image.FromStream(fs)
            Dim img2 As Bitmap = CType(Bitmap.FromStream(fs), Bitmap)
            pbCheckImage01.BackgroundImage = img2
            Using g As Graphics = Graphics.FromImage(img2)
                ' Text position of Label TGlass
                Dim topleft As Point
                topleft = New Point(TGlass.Top, TGlass.Left)
                ' Text content of Label TGlass
                Dim strCalendar As String = TGlass.Text
                ' Measurement of the label TGlass (strCalendar) for a selected font
                Dim sizeString As New SizeF
                sizeString = g.MeasureString(strCalendar, TGlass.Font)
                ' Rectangle layout for the selected font
                Dim layout As New Rectangle(topleft, Size.Ceiling(sizeString))
                'If layout.Right < 400 - (layout.Right - layout.X) Then
                layout.X = CInt(layout.X * (img2.Height / pbCheckImage01.Height))
                'End If
                'If layout.Bottom < 400 - (layout.Bottom - layout.Y) Then
                layout.Y = CInt(layout.Y * (img2.Width / pbCheckImage01.Width))
                'End If
                ' Text First Page
 
                Dim myFont As New Font(TGlass.Font.FontFamily, CInt(TGlass.Font.Size * (img2.Width / img2.Height)), TGlass.Font.Style)
 
                'Dim myFont As New Font(TGlass.Font.FontFamily, sizeString.ToSize, TGlass.Font.Style)
                Dim myBrush As New SolidBrush(TGlass.ForeColor)
                'g.DrawString(strCalendar, TGlass.Font, Brushes.Red, layout)
                g.DrawString(strCalendar, myFont, myBrush, layout.Y, layout.X) 'layout.Width, layout.Height)
 
                ' Remove the TextWindow class
                pbCheckImage01.Controls.Remove(TGlass)
                Refresh()
                cloneBitmap = img2
            End Using