implement full hsv effect

This commit is contained in:
2021-04-08 21:49:20 +02:00
parent d158d06cce
commit 53e0448d0c
2 changed files with 38 additions and 7 deletions

View File

@@ -54,13 +54,17 @@ def black(framecount, index, target):
target[1] = 0
target[2] = 0
def adjust_saturation(framecount, index, target, params):
factor = params['factor']
def adjust_hsv(framecount, index, target, params):
factor_s = params['factor_s']
factor_v = params['factor_v']
delta_h = params['delta_h']
delta_s = params['delta_s']
delta_v = params['delta_v']
rgb = sRGBColor(target[0], target[1], target[2], True)
hsv = convert_color(rgb, HSVColor)
hsv.hsv_s = min(hsv.hsv_s*factor,1)
print(params)
print(hsv)
hsv.hsv_h = min(hsv.hsv_h+delta_h, 360)
hsv.hsv_s = min(hsv.hsv_s*factor_s+delta_s,1)
hsv.hsv_v = min(hsv.hsv_v*factor_v+delta_v,1)
hsv_to_target(hsv, target)
def rgb(framecount, index, target, params):

View File

@@ -40,14 +40,41 @@ AVAILABLE_EFFECTS = [
"params": None
},
{
"function": adjust_saturation,
"function": adjust_hsv,
"params": {
"factor": {
"factor_s": {
"type": "slider",
"min": 0,
"max": 1,
"default": 1,
"step": 0.01
},
"factor_v": {
"type": "slider",
"min": 0,
"max": 1,
"default": 1,
"step": 0.01
},
"delta_h": {
"type": "slider",
"min": 0,
"max": 360,
"default": 0,
},
"delta_s": {
"type": "slider",
"min": 0,
"max": 1,
"default": 0,
"step": 0.01
},
"delta_v": {
"type": "slider",
"min": 0,
"max": 1,
"default": 0,
"step": 0.01
}
}
},