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):
|
def multi(self, multiplier):
|
||||||
if multiplier >= 100:
|
if multiplier >= 100:
|
||||||
return 1
|
return 100
|
||||||
|
|
||||||
elif multiplier <= 0:
|
elif multiplier <= 0:
|
||||||
return 0
|
return 0
|
||||||
|
@ -190,26 +190,28 @@ class Color(Colour):
|
||||||
|
|
||||||
|
|
||||||
def alter(self, action, multiplier):
|
def alter(self, action, multiplier):
|
||||||
|
new_color = Color(self)
|
||||||
|
|
||||||
if action == 'lighten':
|
if action == 'lighten':
|
||||||
self.luminance += ((1 - self.luminance) * self.multi(multiplier))
|
new_color.luminance += ((1 - self.luminance) * self.multi(multiplier))
|
||||||
|
|
||||||
elif action == 'darken':
|
elif action == 'darken':
|
||||||
self.luminance -= (self.luminance * self.multi(multiplier))
|
new_color.luminance -= (self.luminance * self.multi(multiplier))
|
||||||
|
|
||||||
elif action == 'saturate':
|
elif action == 'saturate':
|
||||||
self.saturation += ((1 - self.saturation) * self.multi(multiplier))
|
new_color.saturation += ((1 - self.saturation) * self.multi(multiplier))
|
||||||
|
|
||||||
elif action == 'desaturate':
|
elif action == 'desaturate':
|
||||||
self.saturation -= (self.saturation * self.multi(multiplier))
|
new_color.saturation -= (self.saturation * self.multi(multiplier))
|
||||||
|
|
||||||
elif action == 'rgba':
|
elif action == 'rgba':
|
||||||
red = self.red*255
|
red = self.red*255
|
||||||
green = self.green*255
|
green = self.green*255
|
||||||
blue = self.blue*255
|
blue = self.blue*255
|
||||||
trans = self.multi(multiplier)
|
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):
|
def color_func(action, color, multi):
|
||||||
|
|
Loading…
Reference in a new issue