Texte dans picturebox vb2008express [Résolu]

Signaler
Messages postés
548
Date d'inscription
mercredi 28 juillet 2004
Statut
Membre
Dernière intervention
11 septembre 2013
-
Messages postés
111
Date d'inscription
dimanche 24 décembre 2000
Statut
Membre
Dernière intervention
17 novembre 2012
-
Bonjour,

Je cherche à écrire du texte dans un picturebox, tout ce que j'ai trouvé sont des codes vb6.

Merci

12 réponses

Messages postés
14665
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
15 mai 2020
143
Bonsoir,

En regardant ce lien :
http://forum.hardware.fr/hfr/Programmation/CNET-managed/picturebox-position-texte-sujet_88063_1.htm
Il me semble qu'en reprenant (et adaptant) le code du premier message, ça passe :)

Mon site
Messages postés
548
Date d'inscription
mercredi 28 juillet 2004
Statut
Membre
Dernière intervention
11 septembre 2013
2
en fait, comment palier au manque de la fonction "picturebox.print" de vb6 ?
Messages postés
14665
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
15 mai 2020
143
Bonjour,

En recherchant, j'ai touvé pas mal de réponses probantes :
[url]http://www.google.fr/#hl=fr&ei=HyJTS9-4BY6OjAfEvt2SCg&sa=X&oi=spell&resnum=0&ct=result&cd=1&ved=0CAYQBSgA&q=.NET+%C3%A9crire+picturebox&spell=1&fp=26f21cbdbeb3d18b/url

Dans ces cas là, n'hésite pas à regarder aussi du coté du C#, il y a pas beaucoup de différences.

Mon site
Messages postés
548
Date d'inscription
mercredi 28 juillet 2004
Statut
Membre
Dernière intervention
11 septembre 2013
2
merci, mais votre lien ne donne rien.
Messages postés
14665
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
15 mai 2020
143
Bonjour,

Dsl, je réessaye :
http://www.google.fr/webhp?hl=fr&fp=1#hl=fr&source=hp&q=.NET+%C3%A9crire+picturebox&btnG=Recherche+Google&meta=&aq=f&oq=.NET+%C3%A9crire+picturebox&fp=26f21cbdbeb3d18b

En recherchant sur une plage plus étendue, (.NET à la place de VB), j'ai trouvé plusieurs réponses.

Mon site
Messages postés
14665
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
15 mai 2020
143
Messages postés
548
Date d'inscription
mercredi 28 juillet 2004
Statut
Membre
Dernière intervention
11 septembre 2013
2
ok, merci encore

Tous ces liens, je les avait déjà vus.
Mais rien n'explique vraiment comment faire. Quelle solution en vb.net certains codes sont même out.

Merci quand même.
Messages postés
548
Date d'inscription
mercredi 28 juillet 2004
Statut
Membre
Dernière intervention
11 septembre 2013
2
BRAVO et Merci

Il faut passer par ce code, c'est nikel.

Private Sub texto()
Dim g As Graphics
g = Label_picture_capturee.CreateGraphics()
' pareil avec un picturebox

g.DrawString(DateTime.Now.ToString("HH:mm:ss"), New Font("Times New Roman", 10), New SolidBrush(Color.Green), 0, 0)
g.Dispose()
End Sub


Merci beaucoup.

Y a quand même vraiment des bons sur ce site !
Messages postés
14665
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
15 mai 2020
143
Merci pour ta confirmation de réussite vercomax, c'est toujours utile de dire ce qui fonctionne pour aider les autres :)

Et comme tu as pu le comprendre, entre VB.NET et C#.NET, il y a énormément de ressemblance, et il faut en tirer parti :)

Mon site
Messages postés
548
Date d'inscription
mercredi 28 juillet 2004
Statut
Membre
Dernière intervention
11 septembre 2013
2
par contre j'ai un problème:

PictureBox_capturee.Image.Save()

ne sauve pas les graphiques ajoutés à l'image et je ne vois pas pourquoi.

je sauve en jpg, avec l'argument:
System.Drawing.Imaging.ImageFormat.Jpeg
Messages postés
14665
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
15 mai 2020
143
Bonjour,

Après une recherche, j'ai trouvé :
http://www.vbfrance.com/codes/FAIRE-SAVEPICTURE-VB-NET_4227.aspx
à voir et à adapter.

Si ça ne convient pas, je pourrais pousser un peu plus ma recherche.

Mon site
Messages postés
111
Date d'inscription
dimanche 24 décembre 2000
Statut
Membre
Dernière intervention
17 novembre 2012
5
Bonjour,
C'est l'image elle-même que tu dois modifier et non le picturebox dont le contenu est "volatil".
Mon conseil :
1) l'image et le picturebox sont indépendants.
2) Lors d'un Refresh le picturebox ne fait qu'afficher l'image.
3) Quand on écrit du texte, c'est dans l'image et non dans le picturebox.
4) Ce qu'on enregistre ensuite c'est toujours l'image modifiée.

Le code :
Tous les contrôles sont générés au lancement, rien n'est donc à ajouter, juste l'origine de l'image à modifier.
Un clic sur le bouton "Ecrire", et le mot "Hello" est écrit dans l'image.
Un clic sur le bouton "Sauver", et l'image modifiée est enregistrée sur le Bureau.

Public Class Form1

    Private bmpImage As Bitmap
    Private WithEvents pctImage As PictureBox
    Private WithEvents btnEcrire As Button
    Private WithEvents btnSauver As Button

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        bmpImage = New Bitmap("monImage.jpg")
        pctImage = New PictureBox
        With pctImage
            .Location = New Point(10, 40)
            .Size = bmpImage.Size
        End With
        Me.Controls.Add(pctImage)
        btnEcrire New Button With {.Location New Point(10, 10), .Text = "Ecrire"}
        Me.Controls.Add(btnEcrire)
        btnSauver New Button With {.Location New Point(100, 10), .Text = "Sauver"}
        Me.Controls.Add(btnSauver)
    End Sub

    Private Sub pctImage_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles pctImage.Paint
        e.Graphics.DrawImage(bmpImage, 0, 0)
    End Sub

    Private Sub btnEcrire_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnEcrire.Click
        Dim grf As Graphics = Graphics.FromImage(bmpImage)
        grf.DrawString("Hello", New Font("Times New Roman", 12), Brushes.Red, 0, 0)
        grf.Dispose()
        pctImage.Refresh()
    End Sub

    Private Sub btnSauver_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSauver.Click
        bmpImage.Save(My.Computer.FileSystem.SpecialDirectories.Desktop + "\ImageModifiee.jpg", Imaging.ImageFormat.Jpeg)
    End Sub
End Class