public class ImageMath
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
static float |
HALF_PI
The value of half pi as a float.
|
static float |
PI
The value of pi as a float.
|
static float |
QUARTER_PI
The value of quarter pi as a float.
|
static float |
TWO_PI
The value of two pi as a float.
|
| Constructor and Description |
|---|
ImageMath() |
| Modifier and Type | Method and Description |
|---|---|
static float |
bias(float a,
float b)
Apply a bias to a number in the unit interval, moving numbers towards 0 or 1
according to the bias parameter.
|
static int |
bilinearInterpolate(float x,
float y,
int nw,
int ne,
int sw,
int se)
Bilinear interpolation of ARGB values.
|
static int |
brightnessNTSC(int rgb)
Return the NTSC gray level of an RGB value.
|
static float |
circleDown(float x)
A "circle down" function.
|
static float |
circleUp(float x)
A "circle up" function.
|
static float |
clamp(float x,
float a,
float b)
Clamp a value to an interval.
|
static int |
clamp(int x,
int a,
int b)
Clamp a value to an interval.
|
static int |
colorSpline(float x,
int numKnots,
int[] knots)
Compute a Catmull-Rom spline for RGB values.
|
static int |
colorSpline(int x,
int numKnots,
int[] xknots,
int[] yknots)
Compute a Catmull-Rom spline for RGB values, but with variable knot spacing.
|
static float |
gain(float a,
float b)
A variant of the gamma function.
|
static float |
lerp(float t,
float a,
float b)
Linear interpolation.
|
static int |
lerp(float t,
int a,
int b)
Linear interpolation.
|
static int |
mixColors(float t,
int rgb1,
int rgb2)
Linear interpolation of ARGB values.
|
static double |
mod(double a,
double b)
Return a mod b.
|
static float |
mod(float a,
float b)
Return a mod b.
|
static int |
mod(int a,
int b)
Return a mod b.
|
static void |
premultiply(int[] p,
int offset,
int length)
Premultiply a block of pixels
|
static float |
pulse(float a,
float b,
float x)
The pulse function.
|
static void |
resample(int[] source,
int[] dest,
int length,
int offset,
int stride,
float[] out)
An implementation of Fant's resampling algorithm.
|
static float |
smoothPulse(float a1,
float a2,
float b1,
float b2,
float x)
A smoothed pulse function.
|
static float |
smoothStep(float a,
float b,
float x)
A smoothed step function.
|
static float |
spline(float x,
int numKnots,
float[] knots)
Compute a Catmull-Rom spline.
|
static float |
spline(float x,
int numKnots,
int[] xknots,
int[] yknots)
Compute a Catmull-Rom spline, but with variable knot spacing.
|
static float |
step(float a,
float x)
The step function.
|
static float |
triangle(float x)
The triangle function.
|
static void |
unpremultiply(int[] p,
int offset,
int length)
Premultiply a block of pixels
|
public static final float PI
public static final float HALF_PI
public static final float QUARTER_PI
public static final float TWO_PI
public static float bias(float a,
float b)
a - the number to biasb - the bias parameter. 0.5 means no change, smaller values bias towards 0, larger towards 1.public static float gain(float a,
float b)
a - the number to apply gain tob - the gain parameter. 0.5 means no change, smaller values reduce gain, larger values increase gain.public static float step(float a,
float x)
a - the threshold positionx - the input parameterpublic static float pulse(float a,
float b,
float x)
a - the lower threshold positionb - the upper threshold positionx - the input parameterpublic static float smoothPulse(float a1,
float a2,
float b1,
float b2,
float x)
a1 - the lower threshold position for the start of the pulsea2 - the upper threshold position for the start of the pulseb1 - the lower threshold position for the end of the pulseb2 - the upper threshold position for the end of the pulsex - the input parameterpublic static float smoothStep(float a,
float b,
float x)
a - the lower threshold positionb - the upper threshold positionx - the input parameterpublic static float circleUp(float x)
x - the input parameter in the range 0..1public static float circleDown(float x)
x - the input parameter in the range 0..1public static float clamp(float x,
float a,
float b)
a - the lower clamp thresholdb - the upper clamp thresholdx - the input parameterpublic static int clamp(int x,
int a,
int b)
a - the lower clamp thresholdb - the upper clamp thresholdx - the input parameterpublic static double mod(double a,
double b)
a - the dividendb - the divisorpublic static float mod(float a,
float b)
a - the dividendb - the divisorpublic static int mod(int a,
int b)
a - the dividendb - the divisorpublic static float triangle(float x)
x - the input parameterpublic static float lerp(float t,
float a,
float b)
t - the interpolation parametera - the lower interpolation rangeb - the upper interpolation rangepublic static int lerp(float t,
int a,
int b)
t - the interpolation parametera - the lower interpolation rangeb - the upper interpolation rangepublic static int mixColors(float t,
int rgb1,
int rgb2)
t - the interpolation parameterrgb1 - the lower interpolation rangergb2 - the upper interpolation rangepublic static int bilinearInterpolate(float x,
float y,
int nw,
int ne,
int sw,
int se)
x - the X interpolation parameter 0..1y - the y interpolation parameter 0..1rgb - array of four ARGB values in the order NW, NE, SW, SEpublic static int brightnessNTSC(int rgb)
rgb1 - the input pixelpublic static float spline(float x,
int numKnots,
float[] knots)
x - the input parameternumKnots - the number of knots in the splineknots - the array of knotspublic static float spline(float x,
int numKnots,
int[] xknots,
int[] yknots)
x - the input parameternumKnots - the number of knots in the splinexknots - the array of knot x valuesyknots - the array of knot y valuespublic static int colorSpline(float x,
int numKnots,
int[] knots)
x - the input parameternumKnots - the number of knots in the splineknots - the array of knotspublic static int colorSpline(int x,
int numKnots,
int[] xknots,
int[] yknots)
x - the input parameternumKnots - the number of knots in the splinexknots - the array of knot x valuesyknots - the array of knot y valuespublic static void resample(int[] source,
int[] dest,
int length,
int offset,
int stride,
float[] out)
source - the source pixelsdest - the destination pixelslength - the length of the scanline to resampleoffset - the start offset into the arraysstride - the offset between pixels in consecutive rowsout - an array of output positions for each pixelpublic static void premultiply(int[] p,
int offset,
int length)
public static void unpremultiply(int[] p,
int offset,
int length)