diff --git a/src/loaders/svg/tvgSvgLoader.cpp b/src/loaders/svg/tvgSvgLoader.cpp index 31573426..960c8b6c 100644 --- a/src/loaders/svg/tvgSvgLoader.cpp +++ b/src/loaders/svg/tvgSvgLoader.cpp @@ -647,21 +647,9 @@ static bool _hslToRgb(float hue, float satuation, float brightness, uint8_t* red } } - i = static_cast(_red * 255.0); - f = (_red * 255.0) - i; - _red = (f <= 0.5) ? i : (i + 1); - - i = static_cast(_green * 255.0); - f = (_green * 255.0) - i; - _green = (f <= 0.5) ? i : (i + 1); - - i = static_cast(_blue * 255.0); - f = (_blue * 255.0) - i; - _blue = (f <= 0.5) ? i : (i + 1); - - *red = static_cast(_red); - *green = static_cast(_green); - *blue = static_cast(_blue); + *red = static_cast(roundf(_red * 255.0f)); + *green = static_cast(roundf(_green * 255.0f)); + *blue = static_cast(roundf(_blue * 255.0f)); return true; } @@ -726,7 +714,7 @@ static bool _toColor(const char* str, uint8_t* r, uint8_t* g, uint8_t* b, char** content = str + 4; content = _skipSpace(content, nullptr); if (_parseNumber(&content, &hue, &th) && hue) { - th = static_cast(th) % 360; + th = float(uint32_t(th) % 360); hue = _skipSpace(hue, nullptr); hue = (char*)_skipComma(hue); hue = _skipSpace(hue, nullptr);