View Javadoc

1   package org.jmage.util;
2   
3   /***
4    * Utility class for color conversions
5    */
6   public class ColorUtil {
7       private static final String HEX = "0x";
8       private static final String RGBSTRING_ERROR = "not a valid RRGGBB string: ";
9       private static final String INVALID_COLOR = "not a proper color value: ";
10  
11      /***
12       * Converts an RRGGBB style string into an int array
13       *
14       * @param color string
15       * @return an int array containing the rgb values.
16       */
17      public static int[] decodeRGBString(String color) throws NumberFormatException, AssertionError {
18          assert(6 == color.length()) : RGBSTRING_ERROR + color;
19          int[] rgb = new int[3];
20          rgb[0] = Integer.decode(HEX + color.substring(0, 2)).intValue();
21          assert (rgb[0] >= 0 && rgb[0] <= 255) : INVALID_COLOR + rgb[0];
22          rgb[1] = Integer.decode(HEX + color.substring(2, 4)).intValue();
23          assert (rgb[1] >= 0 && rgb[1] <= 255) : INVALID_COLOR + rgb[1];
24          rgb[2] = Integer.decode(HEX + color.substring(4)).intValue();
25          assert (rgb[2] >= 0 && rgb[2] <= 255) : INVALID_COLOR + rgb[2];
26  
27          return rgb;
28      }
29  }