Class LinearColorInterpolator
- java.lang.Object
-
- org.biojava.nbio.structure.gui.util.color.LinearColorInterpolator
-
- All Implemented Interfaces:
ColorInterpolator
public class LinearColorInterpolator extends Object implements ColorInterpolator
- Author:
- Spencer Bliven
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
LinearColorInterpolator.InterpolationDirection
-
Constructor Summary
Constructors Constructor Description LinearColorInterpolator()
LinearColorInterpolator(ColorSpace colorSpace)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Color
interpolate(Color a, Color b, float mixing)
Interpolates to a color between a and bvoid
setColorSpace(ColorSpace colorSpace)
void
setColorSpace(ColorSpace colorSpace, LinearColorInterpolator.InterpolationDirection[] dir)
Sets the ColorSpace to use for interpolation.void
setInterpolationDirection(int componentIndex, LinearColorInterpolator.InterpolationDirection dir)
-
-
-
Constructor Detail
-
LinearColorInterpolator
public LinearColorInterpolator()
-
LinearColorInterpolator
public LinearColorInterpolator(ColorSpace colorSpace)
-
-
Method Detail
-
interpolate
public Color interpolate(Color a, Color b, float mixing)
Interpolates to a color between a and b- Specified by:
interpolate
in interfaceColorInterpolator
- Parameters:
a
- First colorb
- Second colormixing
- Mixing coefficient; the fraction of a in the result.- Returns:
- The color between a and b
- Throws:
IllegalArgumentException
- if mixing is not between 0 and 1- See Also:
ColorInterpolator.interpolate(java.awt.Color, java.awt.Color, float)
-
setColorSpace
public void setColorSpace(ColorSpace colorSpace, LinearColorInterpolator.InterpolationDirection[] dir)
Sets the ColorSpace to use for interpolation. The most common scheme for color spaces is to use linear components between 0 and 1 (for instance red,green,blue). For such a component, a linear interpolation between two colors is used. Sometimes a component may be in cylindrical coordinates. In this case, the component can be mapped in a number of ways. These are set by InterpolationDirections.- Parameters:
colorSpace
- The color space for interpolationinterpDirection
- An array of size colorSpace.getNumComponents() giving the interpolation direction for each component.
-
setColorSpace
public void setColorSpace(ColorSpace colorSpace)
-
setInterpolationDirection
public void setInterpolationDirection(int componentIndex, LinearColorInterpolator.InterpolationDirection dir)
-
-