AutoIt Français

Nouveau forum : http://www.autoitscript.fr/
 
AccueilFAQRechercherS'enregistrerMembresGroupesConnexionhttp://www.autoitscript.fr

Partagez | 
 

 Code des couleurs (très pratique pour les développeur)

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
hellboy_21
Membre avancé


Nombre de messages : 56
Date d'inscription : 10/11/2006

MessageSujet: Code des couleurs (très pratique pour les développeur)   2006-11-23, 10:30

Voici un petit utilitaire qui vous permettra de retrouver le code hexadécimal d'une couleur. Pour ce faire, 3 fonctions vous seront données : soit en faisant varrier les couleurs rouge, vert, bleu ; soit en choisissant une couleur prédéfinie dans la palette ; ou encore en passant votre curseur sur une couleur affichée sur votre écran.

Voici le code :
[code]
#include
#include
#include
#Include
GUICreate("Codes des couleurs",630,325,-1,-1,$WS_SYSMENU)
WinSetOnTop("Codes des couleurs", "", 1)
Opt("GUIOnEventMode", 1)
$lblCodeRGB = GUICtrlCreateLabel("Code RGB : ",10,10,60)
$lblRouge = GUICtrlCreateLabel("Rouge : ",30,30,40)
GUICtrlSetColor($lblRouge,0xff0000)
$txtRouge = GUICtrlCreateLabel("0",75,30,30)
$lblVert = GUICtrlCreateLabel("Vert : ",30,50,40)
GUICtrlSetColor($lblVert,0x00ff00)
$txtVert = GUICtrlCreateLabel("0",75,50,30)
$lblBleu = GUICtrlCreateLabel("Bleu : ",30,70,40)
GUICtrlSetColor($lblBleu,0x0000ff)
$txtBleu = GUICtrlCreateLabel("0",75,70,30)
$lblHexa = GUICtrlCreateLabel("Code Hexadécimal : ",10,97,100)
$lblCodeHexa = GUICtrlCreateLabel("000000",110,97,50)
$lblCouleur = GUICtrlCreateLabel("",160,10,130,100)
GUICtrlSetBkColor($lblCouleur,0x000000)
$lblSliderRouge = GUICtrlCreateLabel("Rouge : ",10,135,40)
GUICtrlSetColor($lblSliderRouge,0xff0000)
$SliderRouge = GUICtrlCreateSlider(50,130,250,30,$TBS_NOTICKS)
GUICtrlSetLimit($SliderRouge,255,0)
$lblSliderVert = GUICtrlCreateLabel("Vert : ",10,165,40)
GUICtrlSetColor($lblSliderVert,0x00ff00)
$SliderVert = GUICtrlCreateSlider(50,160,250,30,$TBS_NOTICKS)
GUICtrlSetLimit($SliderVert,255,0)
$lblSliderBleu = GUICtrlCreateLabel("Bleu : ",10,195,40)
GUICtrlSetColor($lblSliderBleu,0x0000ff)
$SliderBleu = GUICtrlCreateSlider(50,190,250,30,$TBS_NOTICKS)
GUICtrlSetLimit($SliderBleu,255,0)
$cmdStart = GUICtrlCreateButton("Lancer couleur curseur",10,230,135,25)
GUICtrlSetOnEvent($cmdStart,"start")
$cmdStop = GUICtrlCreateButton("Stopper couleur curseur",155,230,135,25)
GUICtrlSetOnEvent($cmdStop,"stop")
$cmdChanger = GUICtrlCreateButton("Changer de palette",90,260,120,25)
GUICtrlSetOnEvent($cmdChanger,"changer")
$palette = "palette1.jpg"
$img = GUICtrlCreatePic($palette,305,10,310,275)
GUICtrlSetOnEvent($img,"test")
HotKeySet("+!d", "start")
HotKeySet("+!s", "stop")
$fin = 1
GUISetOnEvent($GUI_EVENT_CLOSE,"quitter")
GUISetState()
While 1
Sleep(100)

$tabFenetre = WinGetPos("Codes des couleurs")
$tabCurseur = GUIGetCursorInfo()
$x = $tabCurseur[0]
$y = $tabCurseur[1]
If $y>=230 And $y<=255 Then
If $x>=10 And $x<=145 Then
ToolTip("Lancer : Shift+Alt+D",$x+12+$tabFenetre[0],$y+50+$tabFenetre[1])
Else
If $x>=155 And $x<=290 Then
ToolTip("Stopper : Shift+Alt+S",$x+12+$tabFenetre[0],$y+50+$tabFenetre[1])
Else
ToolTip("")
EndIf
EndIf
Else
ToolTip("")
EndIf
If $y>=10 And $y<=285 Then
If $x>=305 And $x<=615 Then
ToolTip("Cliquez sur un couleur",$x+12+$tabFenetre[0],$y+50+$tabFenetre[1])
EndIf
EndIf

If $fin = 0 Then
$pos = MouseGetPos()
$couleurSouris = PixelGetColor($pos[0],$pos[1])
GUICtrlSetBkColor($lblCouleur,"0x"&Hex($couleurSouris, 6))
GUICtrlSetData($lblCodeHexa,Hex($couleurSouris, 6))
GUICtrlSetData($txtRouge,Dec(StringLeft(Hex($couleurSouris,6),2)))
GUICtrlSetData($txtVert,Dec(StringMid(Hex($couleurSouris,6),3,2)))
GUICtrlSetData($txtBleu,Dec(StringRight(Hex($couleurSouris,6),2)))
GUICtrlSetData($SliderRouge,GUICtrlRead($txtRouge))
GUICtrlSetData($SliderVert,GUICtrlRead($txtVert))
GUICtrlSetData($SliderBleu,GUICtrlRead($txtBleu))
Else
$rouge = Hex(GUICtrlRead($SliderRouge), 2)
GUICtrlSetData($txtRouge,GUICtrlRead($SliderRouge))
$vert = Hex(GUICtrlRead($SliderVert), 2)
GUICtrlSetData($txtVert,GUICtrlRead($SliderVert))
$bleu = Hex(GUICtrlRead($SliderBleu), 2)
GUICtrlSetData($txtBleu,GUICtrlRead($SliderBleu))
$CodeCouleurHexa = $rouge&$vert&$bleu
GUICtrlSetBkColor($lblCouleur,"0x"&$CodeCouleurHexa)
GUICtrlSetData($lblCodeHexa,$CodeCouleurHexa)
EndIf
WEnd
Func test()
If $y>=10 And $y<=285 Then
If $x>=305 And $x<=615 Then
$couleurSouris = PixelGetColor($x+3+$tabFenetre[0],$y+30+$tabFenetre[1])
GUICtrlSetBkColor($lblCouleur,"0x"&Hex($couleurSouris, 6))
GUICtrlSetData($lblCodeHexa,Hex($couleurSouris, 6))
GUICtrlSetData($txtRouge,Dec(StringLeft(Hex($couleurSouris,6),2)))
GUICtrlSetData($txtVert,Dec(StringMid(Hex($couleurSouris,6),3,2)))
GUICtrlSetData($txtBleu,Dec(StringRight(Hex($couleurSouris,6),2)))
GUICtrlSetData($SliderRouge,GUICtrlRead($txtRouge))
GUICtrlSetData($SliderVert,GUICtrlRead($txtVert))
GUICtrlSetData($SliderBleu,GUICtrlRead($txtBleu))
EndIf
EndIf
EndFunc
Func start()
$fin = 0
$tableau = GUIGetCursorInfo()
$x = $tableau[0]
$y = $tableau[1]
ToolTip("Shift+Alt+d",$x,$y)
EndFunc
Func stop()
$fin = 1
EndFunc
Func changer()
If $palette = "palette1.jpg" Then
$palette = "palette2.jpg"
GUICtrlSetImage($img,$palette)
Else
If $palette = "palette2.jpg" Then
$palette = "palette1.jpg"
GUICtrlSetImage($img,$palette)
EndIf
EndIf
EndFunc
Func quitter()
Exit
EndFunc
[/code]

Voici les images des palettes à copier/coller au même endroit que votre .exe

[img]http://www.pescadoo.net/html/outerstar.png[/img]

[img]http://www.programacionweb.net/images/articulos/websafe.jpg[/img]
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
hellboy_21
Membre avancé


Nombre de messages : 56
Date d'inscription : 10/11/2006

MessageSujet: Re: Code des couleurs (très pratique pour les développeur)   2006-11-23, 10:35

Bien entendu pour que les palettes s'affichent comme il faut, il faut que vous les renomiez comme dans le code : "palette1.jpg" et "palette2.jpg"
Si vous avez des questions ou des suggestions, n'hésitez pas...!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
TerminAdminAtor
Admin
Admin


Nombre de messages : 234
Date d'inscription : 22/10/2006

MessageSujet: Re: Code des couleurs (très pratique pour les développeur)   2006-11-28, 21:47

WOW je voulais déjà l'essayer avant, mais je suis bien surpris par ce petit programme, d'une parceque je le trouve utile pour les scripts, de deux parceque la prise en main est étonament simple!! BRAVO!

Un petit plus: tu pourrais mettre un bouton pour copier le code hexadécimale dans le presse papier .

Bonne continuation pour tes petits scripts;)

P.S. : #include <GUIConstants.au3> est l'include manquant ... on pourrait faire un QUIZZ pour les includes manquant .
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://autoit-fr.realbb.net
hellboy_21
Membre avancé


Nombre de messages : 56
Date d'inscription : 10/11/2006

MessageSujet: Re: Code des couleurs (très pratique pour les développeur)   2006-11-30, 02:00

Merci merci des compliments pour le script. J'y ai bien pensé à faire un bouton pour copier le code hexa dans le presse papier et ne sachant pas comment faire je me suis dit que ça suffirait bien. Donc si quelqu'un sait comment je pourrais faire pour copier quelque chose dans le presse papier ca serait sympa de m'en faire part. Je recollerai mon code une fois modifié.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
hellboy_21
Membre avancé


Nombre de messages : 56
Date d'inscription : 10/11/2006

MessageSujet: Re: Code des couleurs (très pratique pour les développeur)   2006-11-30, 13:43

Arf bon allé, chez moi on dit "qui cherche trouve" et c'est pour ça que j'ai trouvé !!!!!

Pour copier du texte dans le presse-papier il faut utiliser la fonction : ClipPut ( "texte à copier" )

Voici le code complet modifié de façon à pouvoir cette fois-ci copier notre fameux code hexadécimal de la couleur sélectionnée.

Les includes nécessaires sont les suivants :
#include
#include
#include
#Include

[code]
#include
#include
#include
#Include
GUICreate("Codes des couleurs",630,325,-1,-1,$WS_SYSMENU)
WinSetOnTop("Codes des couleurs", "", 1)
Opt("GUIOnEventMode", 1)
$lblCodeRGB = GUICtrlCreateLabel("Code RGB : ",10,10,60)
$lblRouge = GUICtrlCreateLabel("Rouge : ",30,30,40)
GUICtrlSetColor($lblRouge,0xff0000)
$txtRouge = GUICtrlCreateLabel("0",75,30,30)
$lblVert = GUICtrlCreateLabel("Vert : ",30,50,40)
GUICtrlSetColor($lblVert,0x00ff00)
$txtVert = GUICtrlCreateLabel("0",75,50,30)
$lblBleu = GUICtrlCreateLabel("Bleu : ",30,70,40)
GUICtrlSetColor($lblBleu,0x0000ff)
$txtBleu = GUICtrlCreateLabel("0",75,70,30)
$lblHexa = GUICtrlCreateLabel("Code Hexadécimal : ",10,97,100)
;$lblCodeHexa = GUICtrlCreateInput("000000",110,97,50,-1,$ES_READONLY)
$lblCodeHexa = GUICtrlCreateLabel("000000",110,97,50)
$lblCouleur = GUICtrlCreateLabel("",160,10,130,100)
GUICtrlSetBkColor($lblCouleur,0x000000)
$lblSliderRouge = GUICtrlCreateLabel("Rouge : ",10,135,40)
GUICtrlSetColor($lblSliderRouge,0xff0000)
$SliderRouge = GUICtrlCreateSlider(50,130,250,30,$TBS_NOTICKS)
GUICtrlSetLimit($SliderRouge,255,0)
$lblSliderVert = GUICtrlCreateLabel("Vert : ",10,165,40)
GUICtrlSetColor($lblSliderVert,0x00ff00)
$SliderVert = GUICtrlCreateSlider(50,160,250,30,$TBS_NOTICKS)
GUICtrlSetLimit($SliderVert,255,0)
$lblSliderBleu = GUICtrlCreateLabel("Bleu : ",10,195,40)
GUICtrlSetColor($lblSliderBleu,0x0000ff)
$SliderBleu = GUICtrlCreateSlider(50,190,250,30,$TBS_NOTICKS)
GUICtrlSetLimit($SliderBleu,255,0)
$cmdStart = GUICtrlCreateButton("Lancer couleur curseur",10,230,135,25)
GUICtrlSetOnEvent($cmdStart,"start")
$cmdStop = GUICtrlCreateButton("Stopper couleur curseur",155,230,135,25)
GUICtrlSetOnEvent($cmdStop,"stop")
$cmdChanger = GUICtrlCreateButton("Changer de palette",10,260,135,25)
GUICtrlSetOnEvent($cmdChanger,"changer")
$cmdCopier = GUICtrlCreateButton("Copier le code hexa",155,260,135,25)
GUICtrlSetOnEvent($cmdCopier,"copier")
$palette = "palette1.jpg"
$img = GUICtrlCreatePic($palette,305,10,310,275)
GUICtrlSetOnEvent($img,"test")
HotKeySet("+!d", "start")
HotKeySet("+!s", "stop")
$fin = 1
GUISetOnEvent($GUI_EVENT_CLOSE,"quitter")
GUISetState()
While 1
Sleep(100)

$tabFenetre = WinGetPos("Codes des couleurs")
$tabCurseur = GUIGetCursorInfo()
$x = $tabCurseur[0]
$y = $tabCurseur[1]
If $y>=230 And $y<=255 Then
If $x>=10 And $x<=145 Then
ToolTip("Lancer : Shift+Alt+D",$x+12+$tabFenetre[0],$y+50+$tabFenetre[1])
Else
If $x>=155 And $x<=290 Then
ToolTip("Stopper : Shift+Alt+S",$x+12+$tabFenetre[0],$y+50+$tabFenetre[1])
Else
ToolTip("")
EndIf
EndIf
Else
ToolTip("")
EndIf
If $y>=10 And $y<=285 Then
If $x>=305 And $x<=615 Then
ToolTip("Cliquez sur un couleur",$x+12+$tabFenetre[0],$y+50+$tabFenetre[1])
EndIf
EndIf

If $fin = 0 Then
$pos = MouseGetPos()
$couleurSouris = PixelGetColor($pos[0],$pos[1])
GUICtrlSetBkColor($lblCouleur,"0x"&Hex($couleurSouris, 6))
GUICtrlSetData($lblCodeHexa,Hex($couleurSouris, 6))
GUICtrlSetData($txtRouge,Dec(StringLeft(Hex($couleurSouris,6),2)))
GUICtrlSetData($txtVert,Dec(StringMid(Hex($couleurSouris,6),3,2)))
GUICtrlSetData($txtBleu,Dec(StringRight(Hex($couleurSouris,6),2)))
GUICtrlSetData($SliderRouge,GUICtrlRead($txtRouge))
GUICtrlSetData($SliderVert,GUICtrlRead($txtVert))
GUICtrlSetData($SliderBleu,GUICtrlRead($txtBleu))
Else
$rouge = Hex(GUICtrlRead($SliderRouge), 2)
GUICtrlSetData($txtRouge,GUICtrlRead($SliderRouge))
$vert = Hex(GUICtrlRead($SliderVert), 2)
GUICtrlSetData($txtVert,GUICtrlRead($SliderVert))
$bleu = Hex(GUICtrlRead($SliderBleu), 2)
GUICtrlSetData($txtBleu,GUICtrlRead($SliderBleu))
$CodeCouleurHexa = $rouge&$vert&$bleu
GUICtrlSetBkColor($lblCouleur,"0x"&$CodeCouleurHexa)
GUICtrlSetData($lblCodeHexa,$CodeCouleurHexa)
EndIf
WEnd
Func test()
If $y>=10 And $y<=285 Then
If $x>=305 And $x<=615 Then
$couleurSouris = PixelGetColor($x+3+$tabFenetre[0],$y+30+$tabFenetre[1])
GUICtrlSetBkColor($lblCouleur,"0x"&Hex($couleurSouris, 6))
GUICtrlSetData($lblCodeHexa,Hex($couleurSouris, 6))
GUICtrlSetData($txtRouge,Dec(StringLeft(Hex($couleurSouris,6),2)))
GUICtrlSetData($txtVert,Dec(StringMid(Hex($couleurSouris,6),3,2)))
GUICtrlSetData($txtBleu,Dec(StringRight(Hex($couleurSouris,6),2)))
GUICtrlSetData($SliderRouge,GUICtrlRead($txtRouge))
GUICtrlSetData($SliderVert,GUICtrlRead($txtVert))
GUICtrlSetData($SliderBleu,GUICtrlRead($txtBleu))
EndIf
EndIf
EndFunc
Func start()
$fin = 0
$tableau = GUIGetCursorInfo()
$x = $tableau[0]
$y = $tableau[1]
ToolTip("Shift+Alt+d",$x,$y)
EndFunc
Func stop()
$fin = 1
EndFunc
Func changer()
If $palette = "palette1.jpg" Then
$palette = "palette2.jpg"
GUICtrlSetImage($img,$palette)
Else
If $palette = "palette2.jpg" Then
$palette = "palette1.jpg"
GUICtrlSetImage($img,$palette)
EndIf
EndIf
EndFunc
Func copier()
ClipPut(GUICtrlRead($lblCodeHexa))
EndFunc
Func quitter()
Exit
EndFunc
[/code]

Pour les images des palettes merci de reprendre celles publiées plus haut
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Code des couleurs (très pratique pour les développeur)   Aujourd'hui à 22:44

Revenir en haut Aller en bas
 
Code des couleurs (très pratique pour les développeur)
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Code qui ne marche plus pour fixer un menu
» Mettre des couleurs différentes pour les liens
» Code de télécommande pour contrôler le décodeur
» Code pour une décompte?
» code html pour redirection vers un site associé

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
AutoIt Français :: AutoIt v3 :: Scripts-
Sauter vers: