$gcolor(@window,x,y)[.rgb/hexa]

Contenu du snippet

Snippet permettant de retourner la valeur RGB, R,G,B ou Hexadécimale des coordonnées spécifiées...

Source / Exemple :


; $gcolor(@window,x,y)[.rgb/hexa]
; Snippet permettant de retourner la valeur RGB, R,G,B ou Hexadécimale des coordonnées spécifiées...

; $gcolor(@window,x,y) retourne la valeur RGB...
; $gcolor(@window,x,y).rgb retourne la valeur R,G,B...
; $gcolor(@window,x,y).hexa retourne la valeur Hexadécimale...

; Exemple:
; Alias ble {
;  window -p @ble
;  drawrect -f @ble 10 1 50 50 50 50
;  echo -a RGB: $gcolor(@ble,50,50) - R,G,B: $gcolor(@ble,50,50).rgb - Hexa: $gcolor(@ble,50,50).hexa
; }
; Donc nous aurions dans la fenêtre active: RGB: 9474048 - R,G,B: 0,144,144 - Hexa: #009090

; Et voilà, enjoy! =)

alias gcolor {
  ; Si l'alias n'est pas appelé sur la forme d'un identifieur ($gcolor(@window,x,y)[.rgb/hexa])...
  if (!$isid) { halt }
  ; Si la fenêtre spécifiée ($1) n'est pas existante...
  if (!$window($1)) { halt }
  ; Si les coordonnées ne sont pas spécifiées...
  if ($2 !isnum) || ($3 !isnum) { halt }
  ; Nous emplissons la variable %a de la valeur RGB demandée...
  var %a = $getdot($1,$2,$3)
  ; Si aucune propriété n'est spécifiée, nous retournons la valeur rgb...
  if !$prop { return %a }
  ; Si la propriété est rgb, nous retournons la valeur R,G,B
  if $prop == rgb { return $rgb(%a) }
  ; Si la propriété est hexa, nous retournons la valeur Hexadécimale...
  if $prop == hexa {
    return $chr(35) $+ $base($gettok($rgb(%a),1,44),10,16,2)) $+ $base($gettok($rgb(%a),2,44),10,16,2)) $+ $base($gettok($rgb(%a),3,44),10,16,2))
  }
}

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.