Petites commandes pour dessiner un dégradé sous mIRC en fenêtre picwin:
/drawrgrad <+h/+v> <@pwin> <x y w h> <rgb value 1> <rgb value 2>
Permet de creer un dégradé rectangulaire
+h => Fais un dégradé horizontal
+v => Fais un dégradé vertical
@pwin => Nom de la picwin de destination
x y w h => Coordonnées du rectangle
rgb value 1 => Valeur rgb de la couleur de départ (format $rgb(r,g,b))
rgb value 1 => Valeur rgb de la couleur de fin (format $rgb(r,g,b))
/drawcircle <->[f] @ <x y> <r> $rgb [t]
Dessine un cercle
-f => Rempli le cercle avec la couleur désignée
@ => picwin de destination
x y => coordonées du centre du cercle
r => rayon du cercle
$rgb => Couleur du cercle (valeur $rgb)
t => taille de la bordure du cercle (optionel)
/drawcgrad @ <x y> <r> $rgb1 $rgb2 [t]
Dessine un dégradé circulaire
@ => picwin de destination
x y => coordonées du centre
r => rayon
$rgb1 => couleur de périphérie
$rgb2 => couleur du centre
t => détetmine la "grossierté" du dégradé (faites le varier entre 1-10 et vous verrez :p)
Source / Exemple :
alias drawrgrad {
; /drawgrad <+><h/v> <@pwin> <x y w h> <rgb value 1> <rgb value 2>
if ($8 == $null) { echo -s */drawrgrad Insuficient parameters | halt }
var %r = $gettok($rgb($7),1,44), %g = $gettok($rgb($7),2,44), %b = $gettok($rgb($7),3,44)
var %r1 = $gettok($rgb($8),1,44), %g1 = $gettok($rgb($8),2,44), %b1 = $gettok($rgb($8),3,44)
var %a = $iif($1 == +h, $3, $4), %z = $iif($1 == +h, $calc($3 + $5), $calc($4 + $6))
var %i.r = $calc((%r1 - %r) / $iif($1 == +h, $5, $6)), %i.g = $calc((%g1 - %g) / $iif($1 == +h, $5, $6)), %i.b = $calc((%b1 - %b) / $iif($1 == +h, $5, $6))
while (%a <= %z) {
drawline -r $2 $rgb(%r ,%g ,%b) 1 $iif($1 == +h, %a $4 %a $calc($4 + $6), $3 %a $calc($3 + $6) %a)
var %r = $calc(%r + %i.r), %g = $calc(%g + %i.g), %b = $calc(%b + %i.b)
inc %a 1
}
}
alias drawcgrad {
; /drawcgrad @ <x y> <r> $rgb1 $rgb2
if ($6 == $null) { echo -s */drawcgrad Insuficient parameters | halt }
var %r = $gettok($rgb($5),1,44), %g = $gettok($rgb($5),2,44), %b = $gettok($rgb($5),3,44)
var %r1 = $gettok($rgb($6),1,44), %g1 = $gettok($rgb($6),2,44), %b1 = $gettok($rgb($6),3,44)
var %z = $4
var %i.r = $calc((%r1 - %r) / %z), %i.g = $calc((%g1 - %g) / %z), %i.b = $calc((%b1 - %b) / %z)
while (%z >= 1) {
drawcircle -f $1 $2-3 %z $rgb(%r,%g,%b)
var %r = $calc(%r + %i.r), %g = $calc(%g + %i.g), %b = $calc(%b + %i.b)
dec %z 1
}
}
alias drawcircle {
; /drawcircle <->[f] @ <x y> <r> $rgb [t]
if (!$5) { echo -s */drawcircle Insuficient parameters | halt }
drawrect $iif($1 == -f, -efr, -er) $2 $6 $iif($7 != $null,$7,1) $calc($3 - ($5 / 2)) $calc($4 - ($5 / 2)) $5 $5
}
Conclusion :
Mise a jour: Gestion des dégradés circulaires :) (+ une petite cmd pour créer des cercles facilement
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.