Accueil > > > SELECTEUR DE COULEURS
SELECTEUR DE COULEURS
Information sur la source
Description
Tout d'abord sachez que je poste ce code à titre d'exemple Il DESSINE un dégradé comme ceux que l'on peut trouver dans les logiciels de retourche d'images, une partie servant à selectionner la couleur, l'autre à selectionner la luminosité pour cette même couleur Enfin les valeurs rgb ou html peuvent être copiés Je rapelle que j'ai posté ce code car la plupart (tous ?) des selecteurs de couleurs sont fait soit a l'aide de scrollbars faisant varier les composantes R,G et B, soit d'image de dégradé Dernière chose, le dégradé n'est effectué qu'une seule fois, puis il est sauvegardé de manière a ne pas avoir a le redessiner à chaque fois !
Source
-
- alias palette {
- window -dopCk0 @palette -1 -1 390 420
- window -hp @pbuf
- if (!$exists($scriptdirpalette_claire.bmp)) draw_palette claire
- else { drawpic @palette 0 0 $+(",$scriptdirpalette_claire.bmp,") | drawcopy @palette 0 0 310 310 @pbuf 0 0 }
- lumdeg 255 | draw_infos 1 1 | fleche 1
- }
-
- alias draw_palette {
- var %f $+(",$scriptdirpalette,_,$1,.bmp,")
- if ($exists(%f)) drawpic @palette 0 0 %f
- else {
- var %x 1 , %r 255 , %g 0 , %b 0 , %ticks $ticks
- wait
- while (%x < 310) {
- var %y 1
- while (%y < 310) {
- if ($1 == claire) drawdot -rn @palette $rgb($calc($l(%r) + (((255 - %r) / 310) * %y)),$calc($l(%g) + (((255 - %g) / 310) * %y)),$calc($l(%b) + (((255 - %b) / 310) * %y))) 1 %x %y
- else {
- var %c $calc(%y * 255 / 310)
- drawdot -rn @palette $rgb($l($calc(%r - %c)),$l($calc(%g - %c)),$l($calc(%b - %c))) 1 %x %y
- }
- inc %y
- }
- if (%r >= 255) && (!%b) && (%g < 255) inc %g 5
- elseif (%g <= 255) && (%r > 0) && (!%b) dec %r 5
- elseif (%r <= 0) && (%g >= 255) && (%b < 256) inc %b 5
- elseif (%b >= 255) && (%r <= 0) && (%g > 0) dec %g 5
- elseif (%g <= 0) && (%b > 254) && (%r < 255) inc %r 5
- elseif (%r >= 255) && (%g <= 0) dec %b 5
- inc %x
- }
- drawdot @palette
- drawsave @palette %f
- wait
- echo -a Palette $1 dessinée en $duration($calc(($ticks - %ticks) / 1000)))
- }
- lumdeg 255 | draw_infos 1 1 | fleche 1
- drawcopy @palette 0 0 310 310 @pbuf 0 0
- }
-
- alias -l lumdeg {
- tokenize 44 $rgb($1)
- var %i 1 | while (%i < 310) {
- if ($getdot(@palette,1,309) > 50000) drawrect -frn @palette $rgb($l($calc($1 - (($1 / 310) * %i))),$l($calc($2 - (($2 / 310) * %i))),$l($calc($3 - (($3 / 310) * %i)))) 1 340 %i 20 1
- else drawrect -frn @palette $rgb($l($calc($1 + (((255 - $1) / 310) * %i))),$l($calc($2 + (((255 - $2) / 310) * %i))),$l($calc($3 + (((255 - $3) / 310) * %i)))) 1 340 %i 20 1
- inc %i
- }
- drawdot @palette
- }
-
- menu @palette {
- sclick {
- if ($inrect($mouse.x,$mouse.y,1,1,309,309)) {
- drawcopy @pbuf 0 0 310 310 @palette 0 0 310 310
- draw_infos $mouse.x $mouse.y | fleche 1
- lumdeg $getdot(@palette,$mouse.x,$mouse.y)
- drawrect -e @palette $iif($getdot(@palette,1,309) > 50000,1,0) 2 $calc($mouse.x - 6) $calc($mouse.y - 6) 11 11
- }
- elseif ($inrect($mouse.x,$mouse.y,340,1,20,309)) { fleche $mouse.y | draw_infos $mouse.x $mouse.y }
- }
- Degradé sombre:draw_palette sombre
- Dégradé clair:draw_palette claire
- -
- Copier
- .code RGB:clipboard $rgb($getdot(@palette,2,340))
- .code HTML:clipboard $html($rgb($getdot(@palette,2,340)))
- }
-
- alias -l draw_infos {
- drawrect -rf @palette $getdot(@palette,$1,$2) 1 1 320 120 60
- drawrect -f @palette 0 1 140 315 200 60
- drawtext -b @palette 1 0 arial 13 140 330 RGB: $rgb($getdot(@palette,$1,$2))
- drawtext -b @palette 1 0 arial 13 140 350 HTML: $html($rgb($getdot(@palette,$1,$2)))
- }
- alias -l html { tokenize 44 $1 | return $+($chr(35),$base($1,10,16,2),$base($2,10,16,2),$base($3,10,16,2)) }
- alias -l fleche {
- drawrect -f @palette 0 1 330 1 10 320 360 1 10 320
- drawtext @palette 1 wingdings 10 330 $1 è | drawtext @palette 1 wingdings 10 359 $1 ç
- }
- alias -l wait {
- if (!$window(@wait)) { window -pod @wait -1 -1 200 80 | drawtext @wait 1 arial 14 30 15 DESSIN EN COURS... }
- else close -@ @wait
- }
- alias -l l return $iif($1 < 0,0,$iif($1 > 255,255,$1))
-
- on *:close:@palette:window -c @pbuf
alias palette {
window -dopCk0 @palette -1 -1 390 420
window -hp @pbuf
if (!$exists($scriptdirpalette_claire.bmp)) draw_palette claire
else { drawpic @palette 0 0 $+(",$scriptdirpalette_claire.bmp,") | drawcopy @palette 0 0 310 310 @pbuf 0 0 }
lumdeg 255 | draw_infos 1 1 | fleche 1
}
alias draw_palette {
var %f $+(",$scriptdirpalette,_,$1,.bmp,")
if ($exists(%f)) drawpic @palette 0 0 %f
else {
var %x 1 , %r 255 , %g 0 , %b 0 , %ticks $ticks
wait
while (%x < 310) {
var %y 1
while (%y < 310) {
if ($1 == claire) drawdot -rn @palette $rgb($calc($l(%r) + (((255 - %r) / 310) * %y)),$calc($l(%g) + (((255 - %g) / 310) * %y)),$calc($l(%b) + (((255 - %b) / 310) * %y))) 1 %x %y
else {
var %c $calc(%y * 255 / 310)
drawdot -rn @palette $rgb($l($calc(%r - %c)),$l($calc(%g - %c)),$l($calc(%b - %c))) 1 %x %y
}
inc %y
}
if (%r >= 255) && (!%b) && (%g < 255) inc %g 5
elseif (%g <= 255) && (%r > 0) && (!%b) dec %r 5
elseif (%r <= 0) && (%g >= 255) && (%b < 256) inc %b 5
elseif (%b >= 255) && (%r <= 0) && (%g > 0) dec %g 5
elseif (%g <= 0) && (%b > 254) && (%r < 255) inc %r 5
elseif (%r >= 255) && (%g <= 0) dec %b 5
inc %x
}
drawdot @palette
drawsave @palette %f
wait
echo -a Palette $1 dessinée en $duration($calc(($ticks - %ticks) / 1000)))
}
lumdeg 255 | draw_infos 1 1 | fleche 1
drawcopy @palette 0 0 310 310 @pbuf 0 0
}
alias -l lumdeg {
tokenize 44 $rgb($1)
var %i 1 | while (%i < 310) {
if ($getdot(@palette,1,309) > 50000) drawrect -frn @palette $rgb($l($calc($1 - (($1 / 310) * %i))),$l($calc($2 - (($2 / 310) * %i))),$l($calc($3 - (($3 / 310) * %i)))) 1 340 %i 20 1
else drawrect -frn @palette $rgb($l($calc($1 + (((255 - $1) / 310) * %i))),$l($calc($2 + (((255 - $2) / 310) * %i))),$l($calc($3 + (((255 - $3) / 310) * %i)))) 1 340 %i 20 1
inc %i
}
drawdot @palette
}
menu @palette {
sclick {
if ($inrect($mouse.x,$mouse.y,1,1,309,309)) {
drawcopy @pbuf 0 0 310 310 @palette 0 0 310 310
draw_infos $mouse.x $mouse.y | fleche 1
lumdeg $getdot(@palette,$mouse.x,$mouse.y)
drawrect -e @palette $iif($getdot(@palette,1,309) > 50000,1,0) 2 $calc($mouse.x - 6) $calc($mouse.y - 6) 11 11
}
elseif ($inrect($mouse.x,$mouse.y,340,1,20,309)) { fleche $mouse.y | draw_infos $mouse.x $mouse.y }
}
Degradé sombre:draw_palette sombre
Dégradé clair:draw_palette claire
-
Copier
.code RGB:clipboard $rgb($getdot(@palette,2,340))
.code HTML:clipboard $html($rgb($getdot(@palette,2,340)))
}
alias -l draw_infos {
drawrect -rf @palette $getdot(@palette,$1,$2) 1 1 320 120 60
drawrect -f @palette 0 1 140 315 200 60
drawtext -b @palette 1 0 arial 13 140 330 RGB: $rgb($getdot(@palette,$1,$2))
drawtext -b @palette 1 0 arial 13 140 350 HTML: $html($rgb($getdot(@palette,$1,$2)))
}
alias -l html { tokenize 44 $1 | return $+($chr(35),$base($1,10,16,2),$base($2,10,16,2),$base($3,10,16,2)) }
alias -l fleche {
drawrect -f @palette 0 1 330 1 10 320 360 1 10 320
drawtext @palette 1 wingdings 10 330 $1 è | drawtext @palette 1 wingdings 10 359 $1 ç
}
alias -l wait {
if (!$window(@wait)) { window -pod @wait -1 -1 200 80 | drawtext @wait 1 arial 14 30 15 DESSIN EN COURS... }
else close -@ @wait
}
alias -l l return $iif($1 < 0,0,$iif($1 > 255,255,$1))
on *:close:@palette:window -c @pbuf
Conclusion
/palette pour l'utiliser
Historique
- 02 décembre 2005 22:18:35 :
- optimisation
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Couleur en rgb [ par kishkaya ]
Est il possible de mettre une couleur definie par des valeur rgb genre $rgb(1,2,5) plutot que 12,0 a un texte ??_Marikou
$rgb [ par Fat4L ]
Bonjour/bonsoir, j'ai un petit soucis, je m'explique: Dans mon script personnel je voulais facilité le changement de couleur ("thème") de mon script
Couleur RGB [ par scandalz ]
Bonjour, je cherche exactement la combine rgb de la couleur violet foncé celle qui correspond à ctrl + K 6, Je voudrai savoir le rgb exact.sccandalz
Code couleur [ par l1solent ]
on ^1:text:**:#:{ haltdef | var %temp.param = $nick $+ , $+ $chan | if ( $+ $color(background) isin $1-) { echo $chan < $+ $+ $nick(#,$nick).co
changer la couleur d'une boite de dialog [ par J4Gu4R ]
voila j'essaye depuis plusieurs jours de trouver comment changer la couleur d'une boite de dialog et ce qui est écrit dedansen gro voila mon dialog :t
detection [ par DaFtOu ]
bonjour je voudrais faire un remote pour detecter quand quelqu'un ecrit avec la meme couleur que la couleur de fond de l'ecritureexemple:[18:26] <J
couleurs [ par yo252yo ]
Bon j'ai cherché, et même si ca parait con pour vous je suis débutant.Je personalise WQuizz et j'aimerai savoir comment on fait pour mettre de la cou
Aide pour un bot irc [ par Ziploc ]
J'ai un problème , j'aimerais que mon bot réagisse sur un message en couleur mais j'ensuis incapable , j'ai sa ~~>On *:text:*test*:#:{ /msg $chan s
DEMANDE [ par Soprano71 ]
bonjour quelqu'n aurai t'il un addons pour mettre le pseudo que je hl d'une couleur differente que la couleur de mon ecriture ??
Dialog [ par Doudis ]
Bonjour j'ai rencontrer un petit probleme avec un dialog j'ai mit en couleur le texte du dialog avec mdx mais je voudrais savoir comment le faire pour
|
Derniers Blogs
SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc [TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko
Forum
RE : AIDERE : AIDE par Nico26000
Cliquez pour lire la suite par Nico26000 RE : AIDERE : AIDE par WorldDMT
Cliquez pour lire la suite par WorldDMT AIDEAIDE par Nico26000
Cliquez pour lire la suite par Nico26000
Logiciels
Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning
|