[..] Remplacement de caractères par pixels en couleur.

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
lianavan
Niveau 3
Niveau 3
Messages : 37
Enregistré le : ven. 10 sept. 2010 20:44
Status : Hors ligne

[..] Remplacement de caractères par pixels en couleur.

#1

Message par lianavan »

Salut,

Je rêve d'un script pour automatiser cette tache :
transformer :
00000 (texte) en un pixel rouge.
11111 (texte) en deux pixels (verticaux) rouges.
le tout à la suite sans espace entre.

En réalité ce que je veux faire est plus complexe, mais si vous savez faire ça, je n'aurais plus qu'à adapter pour ce que je veux faire !

Sérieux, merci si vous avez la solution.
Avatar du membre
SrBelial
Niveau 7
Niveau 7
Messages : 335
Enregistré le : jeu. 22 juil. 2010 11:29
Localisation : 81 et 31
Status : Hors ligne

Re: [..] Remplacement de caractères par pixels en couleur.

#2

Message par SrBelial »

manque de détails également ....

vous voulez transformer du texte en pixels, c'est bien gentil ... mais vous voulez les créer ou ces pixels ?
est ce que le but c'est simplement de modifier la couleur de deux pixels de l'écran, et si oui lesquels ? ou bien plutot de créer une image, et remplir la matrice de pixels petit à petit depuis (0,0) ??
.-SrB-. The One
  • NON ! AutoIt n'est PAS un langage réservé à la réalisation de bots !
  • OUI ! AutoIt est un langage à part entière !
  • Dans SciTE sélectionnez 1 mot puis F1
  • Don't want english doc ?? go to documentation française !! >>ICI<<
[/size]
lianavan
Niveau 3
Niveau 3
Messages : 37
Enregistré le : ven. 10 sept. 2010 20:44
Status : Hors ligne

Re: [..] Remplacement de caractères par pixels en couleur.

#3

Message par lianavan »

Justement, si je n'ai pas précisé, c'est que peu importe le moyen. Le principal c'est qu'après je puisse prendre un screen des pixels pour en faire une image.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Remplacement de caractères par pixels en couleur.

#4

Message par Tlem »

@lianavan
Pouvez-vous nous donner le strubsider de la partie inibyse de votre demande, ainsi que l'abuquiner du script nécessaire pour métaforxer la ligne de texte à transformer.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
jbnh
Niveau 11
Niveau 11
Messages : 1932
Enregistré le : ven. 02 mai 2008 14:54
Localisation : Bruxelles
Status : Hors ligne

Re: [..] Remplacement de caractères par pixels en couleur.

#5

Message par jbnh »

► Afficher le texte
Balise [..] devant votre requête en cours, [R] quand résolu | Pas de message concernant les bots !

Merci
lianavan
Niveau 3
Niveau 3
Messages : 37
Enregistré le : ven. 10 sept. 2010 20:44
Status : Hors ligne

Re: [..] Remplacement de caractères par pixels en couleur.

#6

Message par lianavan »

Vous avez cru que c'était la fête ? Vous acceptez ou vous n'acceptez pas, mais je ne vous permet pas de m'insulter.
Avatar du membre
SrBelial
Niveau 7
Niveau 7
Messages : 335
Enregistré le : jeu. 22 juil. 2010 11:29
Localisation : 81 et 31
Status : Hors ligne

Re: [..] Remplacement de caractères par pixels en couleur.

#7

Message par SrBelial »

bonjour,

veuillez pardonner les réactions peut être un peu trop expansives que l'on peut trouver plus haut ...
je suis certain que le but n'était ni de vous insulter ni de vous blesser, et d'aucune manière de vous rabaisser ou de se moquer de vous ...

Le fait est que j'ai bien peur que dans l'état de votre demande, personne ne veuille se risquer à proposer un script, n'ayant aucune idée du pourquoi ou du comment ...

je veux bien tenter l'exercice mais dans l'état ou se trouvent les exigences, cela sera réduit à sa plus simple expression :

Code : Tout sélectionner

;;======================
;;  VARS
;;======================
Global $toto

;;======================
;;  MAIN
;;======================
$toto = "000000"
traitement($toto)
$toto = "111111"
traitement($toto)

;;======================
;;  FUNCTIONS
;;======================
Func traitement($texte)

    Switch $texte
        Case "000000"
            Dessine1Pixel()
        Case "111111"
            Dessine2Pixels()
    EndSwitch
EndFunc

Func Dessine1Pixel()
    MsgBox(0, "Dessine 1 pixel rouge", "0xFF0000", 1)
    ; // TODO : dessiner un pixel quelque part.
EndFunc

Func Dessine2Pixels()
    MsgBox(0, "Dessine 2 pixels rouge", "0xFF0000" & @CRLF & "0xFF0000", 1)
    ; // TODO : dessiner 2 pixels quelque part.
EndFunc
 

Promis ce n'est pas du code pour se moquer, mais dans l'état actuel de la demande je suis clairement incapable de compléter ce code ... en espérant qu'il pourra tout de même vous servir de base dans la résolution de votre problème, ou tout du moins de trouver comment compléter votre demande afin qu'elle puisse être pleinement satisfaite !

Dans l'espoir d'avoir réussi à me faire comprendre ... j'espère que cette histoire ne s'arrêtera pas là.
.-SrB-. The One
  • NON ! AutoIt n'est PAS un langage réservé à la réalisation de bots !
  • OUI ! AutoIt est un langage à part entière !
  • Dans SciTE sélectionnez 1 mot puis F1
  • Don't want english doc ?? go to documentation française !! >>ICI<<
[/size]
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Remplacement de caractères par pixels en couleur.

#8

Message par Tlem »

Ou y a t-il une insulte ???

Ma réponse est à la hauteur de la question.
Tout simplement incompréhensible ... :P
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
lianavan
Niveau 3
Niveau 3
Messages : 37
Enregistré le : ven. 10 sept. 2010 20:44
Status : Hors ligne

Re: [..] Remplacement de caractères par pixels en couleur.

#9

Message par lianavan »

SrBelial >

Bon ok, étant donné votre réaction, moi aussi je m'excuse.

Je ne vois vraiment pas quel est votre problème, ce script semble très proche de ce que je désire faire.

Par contre je vais tacher d'être beaucoup plus clair car je m'aperçois que je n'étais pas si clair en fait :

000001111100001111000111 (en texte, entré via une inputbox)

doit devenir :

1 pixel rouge, 2 pixels rouges (en hauteur), 1 pixel marron, 2 pixels marrons (en hauteur), 1 pixel vert, 2 pixels verts (en hauteur).
donc en fait c'est 1 pixel pour les "0", et 2 pixels en hauteur pour les "1". La couleur change quand le nombre de "0" ou de "1" à la suite change (peu importe la couleur, je la changerais).

Le truc c'est qu'il faut faire en sorte que le bot remplace d'abord les 00000, puis les 0000, puis les 000, sinon il va confondre (par exemple) une suite de cinq "0" avec trois "0" + deux "0".

Merci.
Pour votre script, c'est presque ça.
Avatar du membre
timmalos
Niveau 11
Niveau 11
Messages : 1970
Enregistré le : dim. 18 mai 2008 15:16
Status : Hors ligne

Re: [..] Remplacement de caractères par pixels en couleur.

#10

Message par timmalos »

Voilà ce que je peux vous proposer:

Code : Tout sélectionner

$string = "000001111100001111000111"
$return= StringToPixel($string)
MsgBox(0,"Valeur retour",$return)


Func StringToPixel($chaine)
    $chaine = Stringsplit($chaine,"")
    Local $State = Number($chaine[1]),$Count = 0,$retour = ""

    For $i = 1 to $chaine[0]
        If Number($chaine[$i]) = $State Then $count += 1

        If Number($chaine[$i]) <> $State Or $i = $chaine[0] Then
            Switch $count
                Case 3 ; Couleur 4 = Marron
                    $retour &= ($State+1) &" PIXELS VERTS" & @CRLF
                Case 5 ; Couleur 5 = Rouge
                    $retour &= ($State+1) &" PIXELS ROUGES" & @CRLF
                Case 4 ; Couleur 4 = Marron
                    $retour &= ($State+1) &" PIXELS MARRONS" & @CRLF
            EndSwitch
            $count = 1
            $State = Number($chaine[$i])
        EndIf
        ;MsgBox(0,"","Charactere="&$chaine[$i]&@crlf&"State="& $State&@crlf&"Count="& $Count) ;Debug
    Next

    Return $retour
EndFunc
Répondre