public class ColorfulFilter extends java.lang.Object implements java.awt.image.BufferedImageOp
Modifier and Type | Field and Description |
---|---|
private double |
colorfulness |
private static double |
LUMINOSITY_BLUE |
private static double |
LUMINOSITY_GREEN |
private static double |
LUMINOSITY_RED |
Constructor and Description |
---|
ColorfulFilter(double colorfulness)
Create a new colorful filter.
|
Modifier and Type | Method and Description |
---|---|
java.awt.image.BufferedImage |
createCompatibleDestImage(java.awt.image.BufferedImage src,
java.awt.image.ColorModel destCM) |
private void |
doFilter(java.awt.image.DataBufferByte src,
java.awt.image.DataBufferByte dest,
int redOffset,
int greenOffset,
int blueOffset,
int alphaOffset,
boolean hasAlpha) |
java.awt.image.BufferedImage |
filter(java.awt.image.BufferedImage src,
java.awt.image.BufferedImage dst) |
private java.awt.image.BufferedImage |
filterIndexed(java.awt.image.BufferedImage src,
java.awt.image.BufferedImage dest)
Fast alternative for indexed images: We can change the palette here.
|
java.awt.geom.Rectangle2D |
getBounds2D(java.awt.image.BufferedImage src) |
private static byte[] |
getIndexColorModelData(int size,
java.util.function.Consumer<byte[]> consumer) |
java.awt.geom.Point2D |
getPoint2D(java.awt.geom.Point2D srcPt,
java.awt.geom.Point2D dstPt) |
java.awt.RenderingHints |
getRenderingHints() |
private byte |
mix(int color,
double luminosity) |
private static final double LUMINOSITY_RED
private static final double LUMINOSITY_GREEN
private static final double LUMINOSITY_BLUE
private final double colorfulness
ColorfulFilter(double colorfulness)
colorfulness
- The colorfulness as defined in the ColorfulImageProcessor
class.public java.awt.image.BufferedImage filter(java.awt.image.BufferedImage src, java.awt.image.BufferedImage dst)
filter
in interface java.awt.image.BufferedImageOp
private java.awt.image.BufferedImage filterIndexed(java.awt.image.BufferedImage src, java.awt.image.BufferedImage dest)
src
- The source imagedest
- The image to copy the source toprivate static byte[] getIndexColorModelData(int size, java.util.function.Consumer<byte[]> consumer)
private void doFilter(java.awt.image.DataBufferByte src, java.awt.image.DataBufferByte dest, int redOffset, int greenOffset, int blueOffset, int alphaOffset, boolean hasAlpha)
private byte mix(int color, double luminosity)
public java.awt.geom.Rectangle2D getBounds2D(java.awt.image.BufferedImage src)
getBounds2D
in interface java.awt.image.BufferedImageOp
public java.awt.image.BufferedImage createCompatibleDestImage(java.awt.image.BufferedImage src, java.awt.image.ColorModel destCM)
createCompatibleDestImage
in interface java.awt.image.BufferedImageOp
public java.awt.geom.Point2D getPoint2D(java.awt.geom.Point2D srcPt, java.awt.geom.Point2D dstPt)
getPoint2D
in interface java.awt.image.BufferedImageOp
public java.awt.RenderingHints getRenderingHints()
getRenderingHints
in interface java.awt.image.BufferedImageOp