Class ColorTintFilter

  • All Implemented Interfaces:
    java.awt.image.BufferedImageOp

    public class ColorTintFilter
    extends AbstractFilter

    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 pixel
    • cS: color of the source pixel
    • cM: the solid color to mix with the source image
    • mixValue: strength of the mix, a value between 0.0 and 1.0
    Author:
    Romain Guy
    • Constructor Detail

      • ColorTintFilter

        public ColorTintFilter​(java.awt.Color mixColor,
                               float mixValue)

        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 image
        mixValue - the strength of the mix, between 0.0 and 1.0; if the specified value lies outside this range, it is clamped
        Throws:
        java.lang.IllegalArgumentException - if mixColor is null
    • Method Detail

      • getMixValue

        public float getMixValue()

        Returns the mix value of this filter.

        Returns:
        the mix value, between 0.0 and 1.0
      • getMixColor

        public java.awt.Color getMixColor()

        Returns the solid mix color of this filter.

        Returns:
        the solid color used for mixing
      • filter

        public java.awt.image.BufferedImage filter​(java.awt.image.BufferedImage src,
                                                   java.awt.image.BufferedImage dst)
        Specified by:
        filter in interface java.awt.image.BufferedImageOp
        Specified by:
        filter in class AbstractFilter