Top

Some color convertors


mIRC Code
+ 0 likes
Please Register to submit score.
Bookmark and Share
Average Score  5.0 (of 1 scores)
Date Added  Jan 29, 2009
Last Updated  Jan 29, 2009
Tags  blue  color  colour  convertor  green  hsb  hsl  hsv  hue  photo  photoshop  red  rgb  saturation  value  while 

Description

Working on some color convectors for a color picker possible, for an example try /xyz and /zyx. xyz may take a while ( I am looking into making is more efficent )

Grab the Code

alias HSL_RGB {
  var %h = $1, %s = $2, %L = $3, %r, %g, %b
  If ($2 == 0) {
    %r = %l
    %g = %l
    %b = %l
  }
  Else {
    var %tmp2
    If (%L < .5) %tmp2 = $calc(%L * (1 + %s)) 
    ElseIf (%L >= .5) %tmp2 = $calc((%L + %S) - (%L * %S))
    echo -b 2: %tmp2
    var %tmp1 = $calc(2 * %L - %tmp2)
    echo -b 4: %tmp1
    %h = $calc(%h / 360)
    var %Rtmp3 = $iif($calc(%H + 1/3) < 0, $calc($v1 + 1), $v1)
    var %Gtmp3 = $iif(%H < 0, $calc($v1 + 1), $v1)
    var %Btmp3 = $iif($calc(%H - 1/3) < 0, $calc($v1 + 1), $v1)
    echo -b 5: %rtmp3 %gtmp3 %btmp3
    var %RGBtmp3 = %Rtmp3 %Gtmp3 %Btmp3, %x = 1,
    while (%x <= 3) {
      var %y = $gettok(%RGBtmp3,%x,32), %z
      If ($calc(6 * %y) < 1) %z = $calc(%tmp1 + (%tmp2 - %tmp1) * 6 * %y)
      ElseIf ($calc(2 * %y) < 1) %z = %tmp2
      ElseIf ($calc(3 * %y) < 2) %z = $calc(%tmp1 + (%tmp2 - %tmp1) * ((2/3) - %y) * 6)
      [ % $+ [ $replace(%x,1,r,2,g,3,b) ] ] = $round($calc(255 * %z),0)
      inc %x
    }
  }
  return %r %g %b
}
 
 
alias HSV_RGB {
  var %h = $1, %s = $2, %V = $3, %r, %g, %b
  If (%v == 0) { return $rgb(0,0,0) }
  ElseIf (%s == 0) { return $rgb(%v,%v,%v) }
  Else {
    var %hf = $calc(%h / 60), %i = $floor(%hf), %f = $calc(%hf - %i)
    var %pv = $calc(%V * (1 - %S))
    var %qv = $calc(%V * (1 - %s * %f))
    var %tv = $calc(%v * (1 - %s * (1 - %f)))
    If (%i == 0) var %r = %v, %g = %tv, %b = %pv
    ElseIf (%i == 1) var %r = %qv, %g = %v, %b = %pv
    ElseIf (%i == 2) var %r = %pv, %g = %v, %b = %tv
    ElseIf (%i == 3) var %r = %pv, %g = %qv, %b = %v
    ElseIf (%i == 4) var %r = %tv, %g = %pv, %b = %v
    ElseIf (%i == 5) var %r = %v, %g = %pv, %b = %qv
    ElseIf (%i == 6) var %r = %v, %g = %tv, %b = %pv
    ElseIf (%i == -1) var %r = %v, %g = %pv, %b = %qv
    return $rgb($floor($calc(%r * 255)),$floor($calc(%g * 255)),$floor($calc(%b * 255)))
  }
}
 
 
alias zyx {
  window -aBp +dL @zz -1 -1 20 360 | var %x = 0
  while (%x <= 360) { drawline -nr @zz $HSV_RGB(%x,1,1) 1 0 %x 20 %x | inc %x }
  drawline @zz
}
alias xyz {
  window -aBp +dL @zz -1 -1 150 150 | var %x = 150, %y = 150
  while (%x >= 0) {
    while (%y >= 0) {
      var %z = $HSV_RGB(0,$calc(%x / 150),$calc((150 - %y) / 150))
      drawdot -nr @zz %z 1 %x %y
      dec %y
    } 
    var %y = 150
    dec %x 
  }
  drawdot @zz
}
 

Comments

  (2)  RSS
PunkTuReD
Comments: 489
 
mIRC Snippet:  Some color convertors
Posted on Jan 29, 2009 12:36 pm
very interesting work here Thelmrac
ScorpionRAP
Comments: 5
 
mIRC Snippet:  Some color convertors
Posted on Jul 8, 2009 8:44 am
use ?!

Commenting Options

Register or Login to Hawkee.com or use your Facebook or Twitter account by clicking the corresponding button below.

  

Bottom