From 4795b3d2cb81f08bbc9ca9bb68fba9f9cdfc7cfb Mon Sep 17 00:00:00 2001 From: Andreas Beeker Date: Tue, 11 Aug 2015 00:07:15 +0000 Subject: [PATCH] clamp (h)sl values git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1695183 13f79535-47bb-0310-9956-ffa450edef68 --- src/java/org/apache/poi/sl/draw/DrawPaint.java | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/src/java/org/apache/poi/sl/draw/DrawPaint.java b/src/java/org/apache/poi/sl/draw/DrawPaint.java index c29171743..4309d4ec5 100644 --- a/src/java/org/apache/poi/sl/draw/DrawPaint.java +++ b/src/java/org/apache/poi/sl/draw/DrawPaint.java @@ -356,15 +356,10 @@ public class DrawPaint { * @returns the RGB Color object */ private static Color HSL2RGB(double h, double s, double l, double alpha) { - if (s <0.0f || s > 100.0f) { - String message = "Color parameter outside of expected range - Saturation: " + s; - throw new IllegalArgumentException( message ); - } - - if (l <0.0f || l > 100.0f) { - String message = "Color parameter outside of expected range - Luminance: " + l; - throw new IllegalArgumentException( message ); - } + // we clamp the values, as it possible to come up with more than 100% sat/lum + // (see links in applyColorTransform() for more info) + s = Math.max(0, Math.min(100, s)); + l = Math.max(0, Math.min(100, l)); if (alpha <0.0f || alpha > 1.0f) { String message = "Color parameter outside of expected range - Alpha: " + alpha;