color_custom.py revision 23c18b07ba547a13dfb57f9d86f70fe0929b1ca0
import coloreffect
class C(coloreffect.ColorEffect):
def __init__(self):
coloreffect.ColorEffect.__init__(self)
self.OptionParser.add_option("--r", action="store", type="string", dest="rFunction", default="r",help="red channel function")
self.OptionParser.add_option("--g", action="store", type="string", dest="gFunction", default="g",help="green channel function")
self.OptionParser.add_option("--b", action="store", type="string", dest="bFunction", default="b",help="blue channel function")
def normalize(self, v):
if v<0:
return 0.0
if v>1:
return 1.0
return v
def colmod(self,_r,_g,_b):
r=float(_r)/255
g=float(_g)/255
b=float(_b)/255
r2=self.normalize(eval(self.options.rFunction))
g2=self.normalize(eval(self.options.gFunction))
b2=self.normalize(eval(self.options.bFunction))
return '%02x%02x%02x' % (int(round(r2*255)),int(round(g2*255)),int(round(b2*255)))
c = C()
c.affect()