我正在寻找一种工具或算法来将HSL颜色转换为RGB.在我看来,HSL并没有被广泛使用,所以我没有太多运气寻找转换器.
我正在寻找从RGB到HSV的色彩空间转换器,特别是对于两个色彩空间的0到255范围.
我需要逐渐插入或改变一系列颜色,因此它从colorA到colorB再到colorC到colorD,然后再返回到colorA,这需要基于经过的时间(以毫秒为单位),任何帮助都将非常受欢迎(算法,伪代码会很棒).
请注意,我正在使用RGB,它可能是0-255或0.0-1.0范围.
这就是我到目前为止,我需要更改每个"timePeriod"的颜色,我们计算经过的时间百分比并更改颜色,这段代码的问题是当它从A到A时有一个跳转B到B到C等等
int millisNow = ofGetElapsedTimeMillis();
int millisSinceLastCheck = millisNow - lastTimeCheck;
if ( millisSinceLastCheck > timePeriod ) {
lastTimeCheck = millisNow;
millisSinceLastCheck = 0;
colorsIndex++;
if ( colorsIndex == colors.size()-1 ) colorsIndex = 0;
cout << "color indes: " << colorsIndex << endl;
cout << "color indes: " << colorsIndex + 1 << endl;
}
timeFraction = (float)(millisSinceLastCheck) / (float)(timePeriod);
float p = timeFraction;
colorT.r = colors[colorsIndex].r * p + ( colors[colorsIndex+1].r * ( 1.0 - p ) …Run Code Online (Sandbox Code Playgroud)