IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

insérer image dans une richtextbox


Sujet :

VB.NET

  1. #1
    Invité
    Invité(e)
    Par défaut insérer image dans une richtextbox
    bonjour a tousse
    j'ai fait un petit programme et dedans il y a une richtextbox1
    et un bouton et quand je clique dessus c'est pour sélectionner une image et la mettre dans la richtextbox
    voila mon code en vb:

    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
    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
            Dim odlg As OpenFileDialog
            Try
                odlg = New OpenFileDialog
                If odlg.ShowDialog = System.Windows.Forms.DialogResult.OK Then
                    Dim img As Image = Image.FromFile("")
                    Dim orgData = Clipboard.GetDataObject
                    Clipboard.SetImage(img)
                    RichTextBox1.Paste()
     
                    Clipboard.SetDataObject(orgData)
                End If
            Catch
            End Try
        End Sub
    End Class
    le probleme c'est quand je clique sur l'image et puis je fait ouvrir et bien rien ne se passe l'image ne se colle pas dans la richtextbox
    je ne comprend pas pourquoi pourriez m'aidez svp
    si possible est ce que aussi je vais pouvoir redimensionné l'image ?

  2. #2
    Membre émérite Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Points : 2 528
    Points
    2 528
    Par défaut
    Est ce que tu es sur que c'est possible?

    Parce que dans RichTextBox, il y a Text...

  3. #3
    Membre éclairé Avatar de methylene
    Profil pro
    Inscrit en
    Février 2010
    Messages
    659
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2010
    Messages : 659
    Points : 813
    Points
    813
    Par défaut
    Dans "RichTextBox" il y a "Text".

    En anglais "Text" veut dire texte, donc une RichTextBox se remplit avec du texte "enrichi", c'est à dire police spécifique, gras, italique, souligné barré etc ...

    Dans "PictureBox"il y a "Picture".

    En anglais "Picture" veut dire image, donc une PictureBox se remplit avec une image.

    Et à moins erreur de ma part, je doute fort que la "RichTextBox" de base puisse contenir une image.

  4. #4
    Membre éclairé Avatar de methylene
    Profil pro
    Inscrit en
    Février 2010
    Messages
    659
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2010
    Messages : 659
    Points : 813
    Points
    813
    Par défaut
    Remarque tu peut sans dout en utilisant GDI+, donc en dessinant ton image dans le contrôle "RichtextBox".

    Code qui devrait marcher :

    Après à toi d'adapter la taille

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
            Dim g = RichTextBox1.CreateGraphics
            Dim pinceau As New Pen(Color.Black)
     
            img = Image.FromFile("C:\Documents and Settings\aufrancois\Bureau\link.jpg")
            g.DrawImage(img, 0, 0, RichTextBox1.Width, RichTextBox1.Height)
    Voir la pièce jointe pour rendu.

  5. #5
    Invité
    Invité(e)
    Par défaut
    merci pour vos rapide réponse

    j'y avait pas penser
    je vais plutot placer une picturebox dans ma richtextbox
    et quand je clique sur mon bouton sa ouvre l'image dans ma picturebox

  6. #6
    Membre émérite Avatar de meziantou
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Avril 2010
    Messages
    1 223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2010
    Messages : 1 223
    Points : 2 439
    Points
    2 439

  7. #7
    Membre éclairé Avatar de methylene
    Profil pro
    Inscrit en
    Février 2010
    Messages
    659
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2010
    Messages : 659
    Points : 813
    Points
    813
    Par défaut
    Citation Envoyé par Morpheus500 Voir le message
    merci pour vos rapide réponse

    j'y avait pas penser
    je vais plutot placer une picturebox dans ma richtextbox
    et quand je clique sur mon bouton sa ouvre l'image dans ma picturebox
    La solution que je t'ai donné est plus efficace qu'une picturebox, vu que tu ne rajoute pas de contrôle.

    Quand au lien de Meziantou, le souci va être de l'adapter, car c'est pas du vb, mais sinon c'est pas mal aussi.

  8. #8
    Invité
    Invité(e)
    Par défaut
    j'ai trouvé c'est tout bon
    voila mon code qui marche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
            OpenFileDialog1.Filter = "Fichiers bmp(bmp)|*.bmp|Fichiers jpg (*.JPG)|*.jpg|Fichiers gif (*.GIF)|*.gif"
            If OpenFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
                PictureBox1.Image = System.Drawing.Image.FromFile(OpenFileDialog1.FileName)
     
            End If
        End Sub
    le seul probleme c'est que j'arrive pas a dire a mon picturebox de pouvoir le déplacer et le redimensionner quand je lance mon programme
    dans les propriété de picturebox j'ai éssayer de changer locked dans design et le mettre en true mais sa marche pas

  9. #9
    Membre expérimenté Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Points : 1 455
    Points
    1 455
    Par défaut
    tu veut déplacer ta pictureBox? *cherche par la*
    Aprés tu parle de redimentionner...

    tu veut adapter ta pictureBox a la taille de ton image ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MaPictureBox.SizeMode = AutoSize
    ou réduire l'image a la taille de la PictureBox?
    *le code demain ^^*

    J'ais mis le code de téte
    sa doit pas étre exactement sa mais sa s'en approche

  10. #10
    Candidat au Club
    Inscrit en
    Janvier 2010
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Positionner l'image
    Bonjour, la solution pour afficher une image dans le richtextbox :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim g = RichTextBox1.CreateGraphics
     
            img = Image.FromFile("C:\Documents and Settings\aufrancois\Bureau\link.jpg")
            g.DrawImage(img, 0, 0, RichTextBox1.Width, RichTextBox1.Height)
    Fonctionne bien, moi je cherche le moyen de positionner cette image et de le prendre en compte avec le texte du contrôle.

    En effet, si je positionne l'image a coté du texte en "trichant" et que je rajoute du texte, le texte se met par dessus l'image...

    (Je souhaite développer une appli de discussion et changer du texte en image)

    Si une personne pourrai m'aider

  11. #11
    Candidat au Club
    Inscrit en
    Janvier 2010
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 2
    Points : 2
    Points
    2
    Par défaut re
    Bon, j'ai trouver 95% de la solution moi même,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    'je defini img en tant qu'image 
    Dim img As Image = Image.FromFile("image\happy.gif")
    'je copie cette image dans le presse papier
    Clipboard.SetImage(img)
    'je rend modifiable le contrôle 
    RichTextBox1.ReadOnly = False
    'je colle cette image dans le contrôle
    RichTextBox1.Paste()
    ' je re rend le contrôle non modifiable vue que c'est un tchat
    RichTextBox1.ReadOnly = True
    Le seul probleme est que si l'utilisateur clique sur l'image il peut modifier la taille avec la souris se qui est trés désagréable

Discussions similaires

  1. insérer image dans une ou plusieurs cellules d'une stringgrid
    Par casse-tête dans le forum Composants VCL
    Réponses: 2
    Dernier message: 05/05/2014, 18h45
  2. Insérer image dans une bdd
    Par Blagueur dans le forum Débuter
    Réponses: 10
    Dernier message: 24/10/2008, 13h05
  3. [C#][VSN2003] Image dans une RichTextBox
    Par shinkyo dans le forum Windows Forms
    Réponses: 7
    Dernier message: 12/04/2006, 22h51
  4. Comment insérer une image dans une cellule d'un TDrawGrid ?
    Par kanux dans le forum Composants VCL
    Réponses: 4
    Dernier message: 15/01/2005, 18h58
  5. insérer des images dans une bd postgresql
    Par ephet dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 20/01/2004, 09h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo