Convertir image en texte

Signaler
Messages postés
7568
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 octobre 2021
-
Messages postés
7568
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 octobre 2021
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/101043-convertir-image-en-texte

Messages postés
7568
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 octobre 2021
127
Je suis tout a fait d'accord que les caractères sont en Noir et blanc et qu'ils te donneront une image de sortie en noir et blanc. Mais si tu mets une image couleur au départ les rgb des pixels ne sont pas les mêmes, c'est pour cela que je converti l'image en noir et blanc avant de parcourir les pixels. J'ai fait l'expérience des 2 manières, le résultat est différent.

Mais là on chipote. Le but de ce programme c'est de parcourir les pixels et de les remplacer par des caractères.

Cela fait toujours plaisir d'échanger des idées avec des anciens membres CodesSources

@+
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
52
Oui
encore 2 points

Ne pas forcer qu'il y ait des AAA plutôt enable le cmdconvertir

Private Sub Textcaractere_TextChanged ........
If Textcaractere.Text = String.Empty Then
cmdconvertir.Enabled = False
Else
cmdconvertir.Enabled = True
End If

C'est mieux de laisser l'image original donc j'ai retiré Picsource.Image = bm
tu as écris
Le programme redimensionne l'image, la met en noir et blanc et la converti avec les caractères que vous désirez.
Est ce la met en noir et blanc est lier à convertir avec les caractères que vous désirez. ?
aussi j'écris le code du cmdconvertir_Click ainsi
Private Sub cmdconvertir_Click(sender As System.Object, e As System.EventArgs) Handles cmdconvertir.Click
If Picsource.Image Is Nothing Then Exit Sub
Dim r_color As Color
'Noir et blanc
' http://codes-sources.commentcamarche.net/source/53227-colormatrix-vb
img = Image.FromFile(cheminsource)

Dim r As Integer = CInt(img.VerticalResolution)
' redimensionner
'crée un Bitmap à partir de Picsource
Dim MyBitmap As New Bitmap(Picsource.Image)
'crée un Bitmap avec la nouvelle taille
Dim bp As New Bitmap(250, 250)
Dim g As Graphics = Graphics.FromImage(bp)
'copie l'image source dans la nouvelle image
g.DrawImage(MyBitmap, 0, 0, bp.Width + 1, bp.Height + 1)
bp.SetResolution(r, r) 'resolution origine

'convertir
newimage = New Bitmap(chemin)
Picdestination.Image = newimage
Dim graph As Graphics = Graphics.FromImage(newimage)
For y As Integer = 0 To bp.Width - 1 Step 5 'boucle sur toutes les lignes horizontales
For x As Integer = 0 To bp.Height - 1 Step 5 'boucle sur toutes les lignes verticales
r_color = bp.GetPixel(x, y)
If r_color.R <= 200 And r_color.B <= 200 And r_color.G <= 200 Then
graph.DrawString(Textcaractere.Text, New Font("Arial", 2, FontStyle.Regular), New SolidBrush(Color.Black), x, y)
ElseIf r_color.R >= 220 And r_color.B >= 220 And r_color.G >= 220 Then
graph.DrawString(Textcaractere.Text, New Font("Arial", 2, FontStyle.Regular), New SolidBrush(Color.White), x, y)
Else
graph.DrawString(Textcaractere.Text, New Font("Arial", 2, FontStyle.Regular), New SolidBrush(Color.Gray), x, y)
End If
Next x
If y = 250 Then Exit Sub
Next y
End Sub


cela marche aussi

Si on permet plus de 10 caractères ça rend un peu dessin peint au fusain lol
Bonne prog
Messages postés
7568
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 octobre 2021
127
Merci beaucoup ShayW, c'est exactement ce qu'il fallait faire. Cela évite tout problème avec les conflits de fichiers. Maintenant l'utilisateur peut ouvrir les fichiers images à la suite sans devoir fermer l'appli.

Une nouvelle mise à jour a été déposée

Bonne journée,

@+ Le Pivert
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
52
Ce n'est pas encore au point
j'aurais plutôt procédé ainsi
sans sauvegarder NB et redim dans le dans le dossier Debug
tu te sers de leurs bitmap
bonne prog
Afficher les 7 commentaires