Color functions return a new Color object
This commit is contained in:
parent
5157ffb4d3
commit
b1bbafecc6
|
@ -181,7 +181,7 @@ class Color(Colour):
|
|||
|
||||
def multi(self, multiplier):
|
||||
if multiplier >= 100:
|
||||
return 1
|
||||
return 100
|
||||
|
||||
elif multiplier <= 0:
|
||||
return 0
|
||||
|
@ -190,26 +190,28 @@ class Color(Colour):
|
|||
|
||||
|
||||
def alter(self, action, multiplier):
|
||||
new_color = Color(self)
|
||||
|
||||
if action == 'lighten':
|
||||
self.luminance += ((1 - self.luminance) * self.multi(multiplier))
|
||||
new_color.luminance += ((1 - self.luminance) * self.multi(multiplier))
|
||||
|
||||
elif action == 'darken':
|
||||
self.luminance -= (self.luminance * self.multi(multiplier))
|
||||
new_color.luminance -= (self.luminance * self.multi(multiplier))
|
||||
|
||||
elif action == 'saturate':
|
||||
self.saturation += ((1 - self.saturation) * self.multi(multiplier))
|
||||
new_color.saturation += ((1 - self.saturation) * self.multi(multiplier))
|
||||
|
||||
elif action == 'desaturate':
|
||||
self.saturation -= (self.saturation * self.multi(multiplier))
|
||||
new_color.saturation -= (self.saturation * self.multi(multiplier))
|
||||
|
||||
elif action == 'rgba':
|
||||
red = self.red*255
|
||||
green = self.green*255
|
||||
blue = self.blue*255
|
||||
trans = self.multi(multiplier)
|
||||
return f'rgba({red:0.2f}, {green:0.2f}, {blue:0.2f}, {trans:0.2f})'
|
||||
return f'rgba({red:0.2f}, {green:0.2f}, {blue:0.2f}, {trans})'
|
||||
|
||||
return self
|
||||
return new_color
|
||||
|
||||
|
||||
def color_func(action, color, multi):
|
||||
|
|
Loading…
Reference in a new issue