begin process at 2012 02 13 21:32:05
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Graphique

 > CLM'S ASCII ART

CLM'S ASCII ART


 Information sur la source

Note :
9,86 / 10 - par 7 personnes
9,86 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Graphique Classé sous :ascii, art, image, convertir, conversion Niveau :Initié Date de création :23/06/2006 Date de mise à jour :27/06/2006 08:05:34 Vu / téléchargé :8 961 / 801

Auteur : clementio

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (12)
Ajouter un commentaire et/ou une note


 Description

Cliquez pour voir la capture en taille normale
Après un bon moment sans poster, je reviens avec ce petit prog.

Ce n'est pas le programme de l'annèe mais le rendu est pas mal (je trouve).

Donc cette source sert à faire de l'ASCII Art. C'est une maniére de redessiner une image avec des caractères ASCII. Il existe sur le site des sources qui colorent une page HTML remplie de "#" (par exemple) en fonction des couleurs d'une image. Mais ici, c'est différent.

La technique consiste à couper notre image en petits rectangles et à voir si on ne "dépasse" pas en appliquant un caractère sur un des rectangles. Alors je sais ça ne paraît pas clair du tout mais regardez la capture pour vous faire une idée.

Le programme "décode" des images uniquement en noir et blanc. J'ai donc rajouté une petite fonction de conversion pour pouvoir charger une image en couleur et la convertir.

Le traitement est très rapide en compilé car il utilise les API graphiques (merci à Renfield pour ses conseils!!!). Le résultat sera meilleur avec une petite taille de police mais il ne faut pas oublier que la taille par défaut de la police du Bloc-Note de Windows est de 10.

A vos commentaires...



 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

23 juin 2006 17:27:15 :
Nouvelle capture
24 juin 2006 14:31:12 :
Choix de la taille de la police
24 juin 2006 15:03:44 :
Encore une nouvelle capture
24 juin 2006 16:59:32 :
Code plus rapide, changement dans l'interface
25 juin 2006 14:51:59 :
...
25 juin 2006 20:48:48 :
Modif fonction de conversion
26 juin 2006 05:19:31 :
Ajout d'exemples
26 juin 2006 18:26:43 :
Traitement revu et corrigé (merci a Renfield)
26 juin 2006 21:20:18 :
J'ai revu complètement l'algo, en compilé c'est quasi instantanné!!!!
26 juin 2006 21:31:28 :
...
26 juin 2006 21:49:49 :
J'ai changé encore deux trois petites choses
26 juin 2006 22:08:51 :
Fonction de conversion inclus dans le traitement
26 juin 2006 23:20:29 :
Amélioration de l'algo
27 juin 2006 00:20:01 :
Accélération de l'algo. Lancez le prog en compilé, ça ira plus vite.
27 juin 2006 03:00:34 :
...
27 juin 2006 06:55:04 :
Nouvelle interface graphique
27 juin 2006 07:19:29 :
Modifications soufflées par Renfield
27 juin 2006 07:37:24 :
Ajout de la barre d'état et suppression du MsgBox de copie
27 juin 2006 08:02:52 :
Ajout des très petites tailles de police
27 juin 2006 08:05:34 :
...

 Sources du même auteur

Source avec Zip Source avec une capture DICO ACCORDS GUITARE
Source avec Zip Source avec une capture CLM'S GUITARE : DICO ACCORDS + ACCORDAGE
Source avec Zip Source avec une capture CLM'S EMERGENCY : REFROIDISSEUR DE CPU
Source avec Zip Source avec une capture CLM'S MESSENGER : AJOUT DE FONCTIONS À WINDOWS LIVE MESSENGE...
Source avec Zip Source avec une capture CLMOOGLE : MOTEUR DE RECHERCHE INTUITIF

 Sources de la même categorie

Source avec Zip Source avec une capture Source .NET (Dotnet) CREER UN GIF ANIMÉ par Le Pivert
Source avec une capture GRAPH PHP COURBE DE CHARGE par s.defaye
Source avec Zip Source avec une capture BOULE DE CRISTAL par BLUEBIBUBBLE
VB6 - DÉPLACEMENT D'UN CONTRÔLE SUR UN SEGMENT DE DROITE DÉL... par ucfoutu
Source avec Zip Source .NET (Dotnet) APPLICATION DE DESSIN par fsafsafsaf

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture Source .NET (Dotnet) MODIFIER COULEUR IMAGE PAR LOT par Le Pivert
Source avec Zip Source avec une capture IMAGE PAR TEXTE EN HTML par oxid
Source avec Zip CONVERTIR LES IMAGES EN CARACTÈRES ASCII... par HEproduct
Source avec Zip Source avec une capture ASCII CONVERTISSEUR par Seb_d_angers
Source avec Zip Source avec une capture ASCII ART EN COULEURS par Xentor

Commentaires et avis

Commentaire de windob le 23/06/2006 23:32:27

J'ai pas encore regardé le code mais le rendu sur la capture est vraiment réussi ! Bravo

Commentaire de MadM@tt le 24/06/2006 02:21:58

C'est vrai que ça rend joli ;-)

Commentaire de seb5629 le 24/06/2006 18:23:46

il est vraiment super ce code!!!

Commentaire de Renfield le 26/06/2006 10:25:35 administrateur CS

y'a quelques astuces simple a mettre en oeuvre, our accelerer la chose...

faire un :
   SetBkMode picSource.hdc, OPAQUE
   SetBkMode picDiff.hdc, OPAQUE

au début, par exemple (le fond du texte sera opaque, plus besoin d'effacer la zone avant un Print)

utiliser TextOut picDiff.hdc, 0, 0, ChrW$(lCompteur), 1
plutot que Print  (faire un .Refresh por visualiser)

PicZone ne sert a rien...
BitBlt picDiff.hdc, 0, 0, lWidth, lHeight, picSource.hdc, lX, lY, vbSrcInvert
suffit

évite aussi les multiples allocations de sChaines (lors des concaténations)
utilises un tableau, ou définit la taille de sChaine au début :

sChaine = Space$((2 + CInt(0.5 + picSource.Width / lWidth)) * CInt(0.5 + picSource.Height / lHeight))

ensuite :
         nIndex = nIndex + 1
         Mid$(sChaine, nIndex) = ChrW$(lChoix)

Commentaire de clementio le 26/06/2006 18:28:49 administrateur CS

Je viens de mettre à jour avec les suggestions de Renfield.

Ca complique un peu le code mais le traitement est environ 3 à 4 fois plus rapide!!!!

C'est trop cool, merci à toi Renfield...

Commentaire de clementio le 26/06/2006 23:22:02 administrateur CS

J'ai encore accélérer l'algo de traitement!!!

C'est incroyable la différence avec le début. Je pense que maintenant il sera difficile de faire plus rapide...

Commentaire de Renfield le 27/06/2006 06:35:41 administrateur CS

en stockant ton tableau ainsi :
ReDim tBitCar(lWidth - 1, lHeight - 1, 32 To 255)

tu pourras faire :
   'On remplit tBitCar en bouclant sur les caratères entre 32 et 255
   For lCompteur = 32 To 255
      'On écrit le caractère sur l'image buffer
      TextOut picBuff.hdc, 0, 0, ChrW$(lCompteur), 1
      'On copie la valeur des pixels dans tBitImage
      GetDIBits picBuff.hdc, picBuff.Image, 0, lHeight, tBitCar(0, 0, lCompteur), bi32BitInfo, DIB_RGB_COLORS
   Next

Commentaire de Renfield le 27/06/2006 06:55:03 administrateur CS

belle accéleration ^^

lors de la conversion NB, tu pourrais t'epargner quelques couteuses lectures de tableau, couteuses en VB :

         For lY2 = 0 To lHeight - 1
            For lX2 = 0 To lWidth - 1
                lVal = tBitImage(lX2, lY2)
               lVal = (lVal Mod &HFF) + ((lVal \ &HFF) Mod &HFF) + ((lVal \ &H10000))
              

(à noter que j'ai fait : lSeuil = Slider1.Value * 3)

Commentaire de clementio le 27/06/2006 07:21:29 administrateur CS

La formule exacte est:

lVal = (lVal Mod &H100) + ((lVal \ &H100) Mod &H100) + (lVal \ &H10000)

Merci encore pour ces conseils...

J'ai mis la source à jour et modifié l'interface pour que ça fasse un peu plus "professionnel".

Commentaire de _DoOmy_ le 01/08/2006 17:33:51

Monstrueux, ça marche avec toutes les images?

Commentaire de Renfield le 01/08/2006 17:44:56 administrateur CS

et oui ^^

Commentaire de ym_trainz le 28/09/2008 21:44:47 10/10

Bravo Clementio !
Encore une super source !

J'ai juste rajouté un genre de ProgressBar car j'aime savoir où on en est... :

Dans form1 / Lancer , dans la boucle :

For lX = 0 To lSrcWidth Step lWidth
         '*************
         Counter = Counter + 1 'Counter en long
         If Counter = 8000 Then
           Counter = 0
           tlb.Buttons(8).Caption = CStr(Int(100 * CStr(lY) / lSrcHeight)) + " %"
           DoEvents
         End If
         '***************

Evidemment, en fin de procédure, tlb.Buttons(8).Caption = "Exécuter"

Encore merci !

Cordialement,
ym_trainz

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Conversion String a Byte [ par shadow1779 ] Bonjour, j'essaye de faire un petit programme utilisant les sockets, pour l'envoi je fais ceci afin de convertir un string en byte... mais comment con [.net2 & image] Image dans un xml [ par Lucyberad ] Bonjour a tous,je fais un petit programme qui sauvegarde des données au format xml,et j'aimerais inclure des image dans ce xml.en gros je me dema Convertir une valeur en code ASCII [ par tchouck ] bonjour, je voudrais decoder un fichier et pour cela j'ai besoin reconvertir la valeur des caractères en leurs valeurs ASCII .Ex A=65 (&#231 conversion Hex avec condition [ par ryback08 ] BonjourPour un projet d'etudiant, je doit traiter une base de donnée avec excel.Cette base doit etre converti en trame ASCII oui Hexa suivant un convertir tableau en image [ par survcopt ] Je possede un tableau qui contient des données de hauteur et je desire les convertir en image quelqu'un aurait-il une idée en vbnet Merci Conversion tables ASCII [ par juju8684 ] Bonjour à tous,je fais appel à vos connnaissance pour résoudre un problème que j'ai depuis environ 1 mois et auquel je n'ai toujours aucune solution : Convertir un TEXBOX en Image [ par vapo ] Bonjour, Je souhaite convertir un TextBox en Image, BMP, JPEG ou autres. Pour le moment je souhaite soit convertir son contenu (font compris) vers un Convertir image ( le systeme) [ par xcxl ] Quelqn sait comment marche les convertisseur d'image (jeparle du systeme) parce que jai penser a develloper un convertisseur qui ouvre le fichier, rec Conversion d'un Entier en ASCII avec le langage Basic [ par gon_ak ] Bonjour à tous! J'ai un petit problème, j'ai pu trouver certains codes permettant d'effectuer des conversions mais aucun ne répond à mes besoins étan Convertir un Objet VB en Fichier Image [ par agara ] Salut à tous. G recherche le moyen de convertir un graphique (MSCHART) en fichier image... Quelqu'un peut-il m'aider?


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,432 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales