Convertir émoticône vers du texte

benoit57320 Messages postés 16 Date d'inscription mardi 10 mars 2015 Statut Membre Dernière intervention 23 janvier 2016 - 10 mars 2015 à 08:24
benoit57320 Messages postés 16 Date d'inscription mardi 10 mars 2015 Statut Membre Dernière intervention 23 janvier 2016 - 11 mars 2015 à 08:42
Bonjour, a tous

Je suis entrain de faire un logiciel de chat qui contient un richtextbox et une textbox et tout le reste pour la communication.

La Richtextbox affiche automatiquement les émoticônes. j'aimerai bien pouvoir copier une ligne ce celle-ci vers la textbox. Quand il n'y a pas d'émoticône pas de problème même quand il y a une émoticône ça coince.

Comment transformer l'émoticône (IMAGE, un BMP) en text ( ":)") ?

9 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
10 mars 2015 à 09:32
Bonjour,
On ne peut "transformer" une image en texte.
Tu peux tout au plus constituer une collection de tes emoticones et affecter un texte à chacun d'entre eux, puis utiliser le texte correspondant à ton emoticone.
0
benoit57320 Messages postés 16 Date d'inscription mardi 10 mars 2015 Statut Membre Dernière intervention 23 janvier 2016
10 mars 2015 à 11:07
Merci de ta réponse,

Enfaite par transformer je voulait dire supprimer l'image et mettre un texte correspondant à la place.
En utilisant le clipboard j'ai réussi à isoler l'image (getimage) pour la comparer (pixel par pixel) à ma collection d'emoticones ( pour l'instant fichier par fichier) donc suite à la comparaison j'ai mon texte de "substitution" à l'image correspondante.
Mais le problème est de savoir où est l'image, sa position ensuite la supprimer et de rajouter le texte de substitution a cette même position.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
10 mars 2015 à 13:02
La Richtextbox affiche automatiquement les émoticônes

comment ? Je ne comprends pas "automatiquement".
En utilisant le clipboard j'ai réussi à isoler l'image

par quel code ?
ma collection d'emoticones ( pour l'instant fichier par fichier

Je ne comprends pas. C'est une collection ou un dossier ?
Tes questions et explications des tenants et aboutissants sont très imprécises.
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviend
0
benoit57320 Messages postés 16 Date d'inscription mardi 10 mars 2015 Statut Membre Dernière intervention 23 janvier 2016
10 mars 2015 à 14:02
La RTB affiche automatiquement les emoticone par "un" code (j'ai pas le code sous les yeux mais ça utilise comme une table.
Emoticone.add(":(", new bipmap (smile\smile1.png)
) a chaque modification de cette dernière elle vérifie si elle contient des caractères qui contenue dans emoticone ( :), :(,...) et remplacé par l'image correspondante.

Pour le clipboard si tu lui assigne une image
Clipboard.setimage(bipmap.fromfile("smile.png")
Ensuite si on Compare le contenue du clipboard au l'image source
On peux savoir quelle emoticone est dans le clipboard
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
benoit57320 Messages postés 16 Date d'inscription mardi 10 mars 2015 Statut Membre Dernière intervention 23 janvier 2016
10 mars 2015 à 14:11
les emoticone sont se sont des fichier indépendant qui sont dans un sous dossier de l'application, un dossier situe à la racine de l'application ils sont au format png
0
benoit57320 Messages postés 16 Date d'inscription mardi 10 mars 2015 Statut Membre Dernière intervention 23 janvier 2016
10 mars 2015 à 14:18
pour comparer j'utilise cette fonction
Public Function CompareImages(ByVal img1 As Bitmap, ByVal img2 As Bitmap) As Boolean
    Dim i As Integer
    Dim j As Integer

    For i = 0 To img1.Width - 1
        For j = 0 To img2.Height - 1
            If img1.GetPixel(i, j) <> img2.GetPixel(i, j) Then
                Return False
            End If
        Next
    Next
    Return True
End Function


Ou img1 est le clipboard clipboard.getimage()
Et img2 = new bipmap("smile.png")
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
10 mars 2015 à 20:53
Ouille.
Tu fais-là tout ce que j'éviterais personnellement de faire (le presse-papier, la double boucle, etc ...). Lourd, tout cela.
Une idée ? ===>>
utiliser la couleur située très exactement au centre de l'image (de ton émoticône).L
Attribuer une couleur imperceptiblement différente. Par exemple : aucune différence à l'oeil nu entre RGB(0, 0,0) et RGB(1,0,0) ou RGB(0,0,1). L' "écart" peut être assez supérieur = 1 pour n'être pas "perçu" autrement que par analyse informatique du pixel.
Tu devines le reste : une simple collection (ou autre) permettant d'associer un texte à chaque couleur.
A toi de jouer sur ces bases, si tu tiens à faire cela.

Il est bien évidemment clair que les émoticônes utilisées devront avoir été dessinés (ou transformés... en leur centre) par toi.

0
benoit57320 Messages postés 16 Date d'inscription mardi 10 mars 2015 Statut Membre Dernière intervention 23 janvier 2016
11 mars 2015 à 08:39
Ok pour changer la couleur au centre des émotions pour gagner 1seconde de traitement mais après...

J'éviterais le presse papier comment ?
Car pour "prendre" une ligne choisit par l'utilisateur dans la RTB et la mettre dans la textbox faut bien comme un presse papier ?

Ensuite pour supprimer l'image de la ligne copier et mettre du texte à la place on fait comment ?

Modifier directement le code RTF ?
0
benoit57320 Messages postés 16 Date d'inscription mardi 10 mars 2015 Statut Membre Dernière intervention 23 janvier 2016
11 mars 2015 à 08:42
Je précise que le logiciel enregistré chaque nouvelle ligne dans un fichier type txt
0
Rejoignez-nous