implement full hsv effect
This commit is contained in:
14
effects.py
14
effects.py
@@ -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):
|
||||
|
||||
31
processor.py
31
processor.py
@@ -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
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user