@Override public void setOne() { set( rgba( 1, 1, 1, 1 ) ); }
@Override public void setOne() { set( rgba( 1, 1, 1, 1 ) ); }
public static void sameColorSources(final List< ConverterSetup > cs, final int r, final int g, final int b, final int a) { for ( int i = 0; i < cs.size(); ++i ) cs.get( i ).setColor( new ARGBType( ARGBType.rgba( r, g, b, a ) ) ); }
public static void whiteSources(final List< ConverterSetup > cs) { for ( int i = 0; i < cs.size(); ++i ) cs.get( i ).setColor( new ARGBType( ARGBType.rgba( 255, 255, 255, 255 ) ) ); }
public static void whiteSources( final List< ConverterSetup > cs ) { for ( int i = 0; i < cs.size(); ++i ) cs.get( i ).setColor( new ARGBType( ARGBType.rgba( 255, 255, 255, 0 ) ) ); }
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 ); }
@Override public int argb( final int i ) { final int r = values.length > 0 ? get( ColorTable.RED, i ) : 0; final int g = values.length > 1 ? get( ColorTable.GREEN, i ) : 0; final int b = values.length > 2 ? get( ColorTable.BLUE, i ) : 0; final int a = values.length > 3 ? get( ColorTable.ALPHA, i ) : 0xff; return ARGBType.rgba( r, g, b, a ); }
final public static int rgba( final float r, final float g, final float b, final float a ) { return rgba( Util.round( r ), Util.round( g ), Util.round( b ), Util.round( a ) ); }
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 ARGBType c ) { final int value1 = get(); final int value2 = c.get(); set( rgba( red( value1 ) * red( value2 ), green( value1 ) * green( value2 ), blue( value1 ) * blue( value2 ), alpha( value1 ) * alpha( value2 ) ) ); }
@Override public void add( final ARGBType c ) { final int value1 = get(); final int value2 = c.get(); set( rgba( red( value1 ) + red( value2 ), green( value1 ) + green( value2 ), blue( value1 ) + blue( value2 ), alpha( value1 ) + alpha( value2 ) ) ); }
@Override public void add( final ARGBType c ) { final int value1 = get(); final int value2 = c.get(); set( rgba( red( value1 ) + red( value2 ), green( value1 ) + green( value2 ), blue( value1 ) + blue( value2 ), alpha( value1 ) + alpha( value2 ) ) ); }
@Override public void div( final ARGBType c ) { final int value1 = get(); final int value2 = c.get(); set( rgba( red( value1 ) / red( value2 ), green( value1 ) / green( value2 ), blue( value1 ) / blue( value2 ), alpha( value1 ) / alpha( value2 ) ) ); }
@Override public void sub( final ARGBType c ) { final int value1 = get(); final int value2 = c.get(); set( rgba( red( value1 ) - red( value2 ), green( value1 ) - green( value2 ), blue( value1 ) - blue( value2 ), alpha( value1 ) - alpha( value2 ) ) ); }
@Override public void div( final ARGBType c ) { final int value1 = get(); final int value2 = c.get(); set( rgba( red( value1 ) / red( value2 ), green( value1 ) / green( value2 ), blue( value1 ) / blue( value2 ), alpha( value1 ) / alpha( value2 ) ) ); }
@Override public void sub( final ARGBType c ) { final int value1 = get(); final int value2 = c.get(); set( rgba( red( value1 ) - red( value2 ), green( value1 ) - green( value2 ), blue( value1 ) - blue( value2 ), alpha( value1 ) - alpha( value2 ) ) ); }