package edu.harvard.mcb.leschziner.util; import java.awt.Color; public class ColorUtils { public static final int WHITE = Color.WHITE.getRGB(); public static final int BLACK = Color.BLACK.getRGB(); public static int extractRed(int target) { // Protected against ARGB data return (target >> 16) & 0xFF; } public static int extractGreen(int target) { return (target >> 8) & 0xFF; } public static int extractBlue(int target) { return target & 0xFF; } public static int[] extractRed(int[] target) { int[] extracted = new int[target.length]; for (int i = 0; i < target.length; i++) { extracted[i] = extractRed(target[i]); } return extracted; } public static int[] extractBlue(int[] target) { int[] extracted = new int[target.length]; for (int i = 0; i < target.length; i++) { extracted[i] = extractBlue(target[i]); } return extracted; } public static int[] extractGreen(int[] target) { int[] extracted = new int[target.length]; for (int i = 0; i < target.length; i++) { extracted[i] = extractGreen(target[i]); } return extracted; } public static int[][] extractRed(int[][] target) { int[][] extracted = new int[target.length][target[0].length]; for (int i = 0; i < target.length; i++) { extracted[i] = extractRed(target[i]); } return extracted; } public static int[][] extractBlue(int[][] target) { int[][] extracted = new int[target.length][target[0].length]; for (int i = 0; i < target.length; i++) { extracted[i] = extractBlue(target[i]); } return extracted; } public static int[][] extractGreen(int[][] target) { int[][] extracted = new int[target.length][target[0].length]; for (int i = 0; i < target.length; i++) { extracted[i] = extractGreen(target[i]); } return extracted; } public static int buildColor(int red, int green, int blue) { return new Color(red, green, blue).getRGB(); } }