mirror of
https://github.com/Artemis-RGB/Artemis
synced 2025-12-13 05:48:35 +00:00
SKColor keyframe engine - Avoid overflowing bytes with certain easings
This commit is contained in:
parent
9b1d28840c
commit
c3b296726e
@ -21,11 +21,16 @@ namespace Artemis.Core.Models.Profile.KeyframeEngines
|
|||||||
var alphaDiff = nextKeyframe.Value.Alpha - currentKeyframe.Value.Alpha;
|
var alphaDiff = nextKeyframe.Value.Alpha - currentKeyframe.Value.Alpha;
|
||||||
|
|
||||||
return new SKColor(
|
return new SKColor(
|
||||||
(byte) (currentKeyframe.Value.Red + redDiff * KeyframeProgressEased),
|
ClampToByte(currentKeyframe.Value.Red + redDiff * KeyframeProgressEased),
|
||||||
(byte) (currentKeyframe.Value.Green + greenDiff * KeyframeProgressEased),
|
ClampToByte(currentKeyframe.Value.Green + greenDiff * KeyframeProgressEased),
|
||||||
(byte) (currentKeyframe.Value.Blue + blueDiff * KeyframeProgressEased),
|
ClampToByte(currentKeyframe.Value.Blue + blueDiff * KeyframeProgressEased),
|
||||||
(byte)(currentKeyframe.Value.Alpha + alphaDiff * KeyframeProgressEased)
|
ClampToByte(currentKeyframe.Value.Alpha + alphaDiff * KeyframeProgressEased)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private byte ClampToByte(float value)
|
||||||
|
{
|
||||||
|
return (byte) Math.Max(0, Math.Min(255, value));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user