java.awt.image
public class: ShortLookupTable [javadoc |
source]
java.lang.Object
java.awt.image.LookupTable
java.awt.image.ShortLookupTable
This class defines a lookup table object. The output of a
lookup operation using an object of this class is interpreted
as an unsigned short quantity. The lookup table contains short
data arrays for one or more bands (or components) of an image,
and it contains an offset which will be subtracted from the
input values before indexing the arrays. This allows an array
smaller than the native data size to be provided for a
constrained input. If there is only one array in the lookup
table, it will be applied to all bands.
| Field Summary |
|---|
| short[][] | data | Constants |
| Methods from java.lang.Object: |
|---|
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Method from java.awt.image.ShortLookupTable Detail: |
public final short[][] getTable() {
return data;
}
Returns the lookup table data by reference. If this ShortLookupTable
was constructed using a single short array, the length of the returned
array is one. |
public int[] lookupPixel(int[] src,
int[] dst) {
if (dst == null) {
// Need to alloc a new destination array
dst = new int[src.length];
}
if (numComponents == 1) {
// Apply one LUT to all channels
for (int i=0; i < src.length; i++) {
int s = (src[i]&0xffff) - offset;
if (s < 0) {
throw new ArrayIndexOutOfBoundsException("src["+i+
"]-offset is "+
"less than zero");
}
dst[i] = (int) data[0][s];
}
}
else {
for (int i=0; i < src.length; i++) {
int s = (src[i]&0xffff) - offset;
if (s < 0) {
throw new ArrayIndexOutOfBoundsException("src["+i+
"]-offset is "+
"less than zero");
}
dst[i] = (int) data[i][s];
}
}
return dst;
}
Returns an array of samples of a pixel, translated with the lookup
table. The source and destination array can be the same array.
Array dst is returned. |
public short[] lookupPixel(short[] src,
short[] dst) {
if (dst == null) {
// Need to alloc a new destination array
dst = new short[src.length];
}
if (numComponents == 1) {
// Apply one LUT to all channels
for (int i=0; i < src.length; i++) {
int s = (src[i]&0xffff) - offset;
if (s < 0) {
throw new ArrayIndexOutOfBoundsException("src["+i+
"]-offset is "+
"less than zero");
}
dst[i] = data[0][s];
}
}
else {
for (int i=0; i < src.length; i++) {
int s = (src[i]&0xffff) - offset;
if (s < 0) {
throw new ArrayIndexOutOfBoundsException("src["+i+
"]-offset is "+
"less than zero");
}
dst[i] = data[i][s];
}
}
return dst;
}
Returns an array of samples of a pixel, translated with the lookup
table. The source and destination array can be the same array.
Array dst is returned. |