package aliview.color;
import java.awt.Color;
public class ColorUtils {
public static int getGolorVal(int r, int g, int b, int a) {
int rgba = ((a & 0xFF) << 24) |
((r & 0xFF) << 16) |
((g & 0xFF) << 8) |
((b & 0xFF) << 0);
return rgba;
}
public static int grayFromRGB(int rgb) {
int r = (rgb >> 16) & 0xFF;
int g = (rgb >> 8) & 0xFF;
int b = (rgb) & 0xFF;
int gray = (r + g + b) / 3;
return gray;
}
public static int darkerRGB(int rgb) {
// Color col = new Color(rgb);
// Color darker = col.darker().darker();
// return darker.getRGB();
//
int r = (rgb >> 16) & 0xFF;
int g = (rgb >> 8) & 0xFF;
int b = (rgb) & 0xFF;
return new Color( (int)(r*0.7) ,(int)(g*0.7),(int)(b*0.7)).getRGB();
// int darker =(int)(r * 0.7);
// darker = (darker << 8) + (int)(g * 0.7);
// darker = (darker << 8) + (int)(b * 0.7);
//
// return darker;
}
public static int addTranspGrey(int inVal, double transp){
int a = 255;//getAlpha(inVal);
int r = (int)(getRed(inVal) * transp);
int g = (int)(getGreen(inVal) * transp);
int b = (int)(getBlue(inVal) * transp);
int rgba = ((a & 0xFF) << 24) |
((r & 0xFF) << 16) |
((g & 0xFF) << 8) |
((b & 0xFF) << 0);
return rgba;
}
public static int getRed(int colVal) {
return (colVal >> 16) & 0xFF;
}
/**
* Returns the green component in the range 0-255 in the default sRGB
* space.
* @return the green component.
* @see #getRGB
*/
public static int getGreen(int colVal) {
return (colVal >> 8) & 0xFF;
}
/**
* Returns the blue component in the range 0-255 in the default sRGB
* space.
* @return the blue component.
* @see #getRGB
*/
public static int getBlue(int colVal) {
return (colVal >> 0) & 0xFF;
}
/**
* Returns the alpha component in the range 0-255.
* @return the alpha component.
* @see #getRGB
*/
public static int getAlpha(int colVal) {
return (colVal >> 24) & 0xff;
}
}