int getScaledColor( final int color ) { final int a = ARGBType.alpha( color ); final int r = Math.min( 255, ( int ) ( scale * Math.max( 0, ARGBType.red( color ) - min ) + 0.5 ) ); final int g = Math.min( 255, ( int ) ( scale * Math.max( 0, ARGBType.green( color ) - min ) + 0.5 ) ); final int b = Math.min( 255, ( int ) ( scale * Math.max( 0, ARGBType.blue( color ) - min ) + 0.5 ) ); return ARGBType.rgba( r, g, b, a ); }
int convertColor( final int color ) { final int a = ARGBType.alpha( color ); int r = ARGBType.red( color ); int g = ARGBType.green( color ); int b = ARGBType.blue( color ); final int v = Math.min( 255, Math.max( 0, ( r + g + b ) / 3 ) ); final int newR = (int)Math.min( 255, Util.round( scaleR * v )); final int newG = (int)Math.min( 255, Util.round( scaleG * v )); final int newB = (int)Math.min( 255, Util.round( scaleB * v )); return ARGBType.rgba( newR, newG, newB, a ); }
public static Color getColorN(long n) { Iterator< ARGBType > iterator = ColorStream.iterator(); ARGBType c = new ARGBType(); for (int i = 0; i<n+43; i++) for (int j = 0; j<3; j++) c = iterator.next(); return new Color( ARGBType.red( c.get() ), ARGBType.green( c.get() ), ARGBType.blue( c.get() ) ); }
private void update() { final double scale = 1.0 / ( max - min ); final int value = color.get(); A = ARGBType.alpha( value ); scaleR = ARGBType.red( value ) * scale; scaleG = ARGBType.green( value ) * scale; scaleB = ARGBType.blue( value ) * scale; black = 0; }
@Override public String toString() { final int rgba = get(); return "(r=" + red( rgba ) + ",g=" + green( rgba ) + ",b=" + blue( rgba ) + ",a=" + alpha( rgba ) + ")"; }
@Override public String toString() { final int rgba = get(); return "(r=" + red( rgba ) + ",g=" + green( rgba ) + ",b=" + blue( rgba ) + ",a=" + alpha( rgba ) + ")"; }
private void update() { final double scale = 1.0 / ( max - min ); final int value = color.get(); A = ARGBType.alpha( value ); scaleR = ARGBType.red( value ) * scale; scaleG = ARGBType.green( value ) * scale; scaleB = ARGBType.blue( value ) * scale; black = ARGBType.rgba( 0, 0, 0, A ); }
@Override public void mul( final double c ) { final int value = get(); set( rgba( red( value ) * c, green( value ) * c, blue( value ) * c, alpha( value ) * c ) ); }
@Override public void mul( final float c ) { final int value = get(); set( rgba( red( value ) * c, green( value ) * c, blue( value ) * c, alpha( value ) * c ) ); }
@Override public void mul( final double c ) { final int value = get(); set( rgba( red( value ) * c, green( value ) * c, blue( value ) * c, alpha( value ) * c ) ); }
@Override public void mul( final float c ) { final int value = get(); set( rgba( red( value ) * c, green( value ) * c, blue( value ) * c, alpha( value ) * c ) ); }
@Override protected void accumulate( final Cursor< ? extends ARGBType >[] accesses, final ARGBType target ) { int aSum = 0, rSum = 0, gSum = 0, bSum = 0; for ( final Cursor< ? extends ARGBType > access : accesses ) { final int value = access.get().get(); final int a = ARGBType.alpha( value ); final int r = ARGBType.red( value ); final int g = ARGBType.green( value ); final int b = ARGBType.blue( value ); aSum += a; rSum += r; gSum += g; bSum += b; } if ( aSum > 255 ) aSum = 255; if ( rSum > 255 ) rSum = 255; if ( gSum > 255 ) gSum = 255; if ( bSum > 255 ) bSum = 255; target.set( ARGBType.rgba( rSum, gSum, bSum, aSum ) ); } }