Package org.jdesktop.swingx.image
Class ColorTintFilter
java.lang.Object
org.jdesktop.beans.AbstractBean
org.jdesktop.swingx.image.AbstractFilter
org.jdesktop.swingx.image.ColorTintFilter
- All Implemented Interfaces:
BufferedImageOp
A color tint filter can be used to mix a solid color to an image. The
result is an image tinted by the specified color. The force of the effect
can be controlled with the mixValue
, a number between 0.0 and
1.0 that can be seen as the percentage of the mix (0.0 does not affect the
source image and 1.0 replaces all the pixels by the solid color).
The color of the pixels in the resulting image is computed as follows:
cR = cS * (1 - mixValue) + cM * mixValue
Definition of the parameters:
cR
: color of the resulting pixelcS
: color of the source pixelcM
: the solid color to mix with the source imagemixValue
: strength of the mix, a value between 0.0 and 1.0
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Color
private final float
private int[]
private int[]
private int[]
-
Constructor Summary
ConstructorsConstructorDescriptionColorTintFilter
(Color mixColor, float mixValue) Creates a new color mixer filter. -
Method Summary
Modifier and TypeMethodDescriptionfilter
(BufferedImage src, BufferedImage dst) Returns the solid mix color of this filter.float
Returns the mix value of this filter.private void
mixColor
(int[] pixels) Methods inherited from class org.jdesktop.swingx.image.AbstractFilter
createCompatibleDestImage, getBounds2D, getPoint2D, getRenderingHints
Methods inherited from class org.jdesktop.beans.AbstractBean
addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, addVetoableChangeListener, clone, fireIndexedPropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, fireVetoableChange, getPropertyChangeListeners, getPropertyChangeListeners, getVetoableChangeListeners, getVetoableChangeListeners, hasPropertyChangeListeners, hasVetoableChangeListeners, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, removeVetoableChangeListener
-
Field Details
-
mixColor
-
mixValue
private final float mixValue -
preMultipliedRed
private int[] preMultipliedRed -
preMultipliedGreen
private int[] preMultipliedGreen -
preMultipliedBlue
private int[] preMultipliedBlue
-
-
Constructor Details
-
ColorTintFilter
Creates a new color mixer filter. The specified color will be used to tint the source image, with a mixing strength defined by
mixValue
.- Parameters:
mixColor
- the solid color to mix with the source imagemixValue
- the strength of the mix, between 0.0 and 1.0; if the specified value lies outside this range, it is clamped- Throws:
IllegalArgumentException
- ifmixColor
is null
-
-
Method Details
-
getMixValue
public float getMixValue()Returns the mix value of this filter.
- Returns:
- the mix value, between 0.0 and 1.0
-
getMixColor
Returns the solid mix color of this filter.
- Returns:
- the solid color used for mixing
-
filter
- Specified by:
filter
in interfaceBufferedImageOp
- Specified by:
filter
in classAbstractFilter
-
mixColor
private void mixColor(int[] pixels)
-