java.awt.image
public class: ByteLookupTable [javadoc |
source]
java.lang.Object
java.awt.image.LookupTable
java.awt.image.ByteLookupTable
This class defines a lookup table object. The output of a
lookup operation using an object of this class is interpreted
as an unsigned byte quantity. The lookup table contains byte
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 |
|---|
| byte[][] | data | Constants |
| Methods from java.lang.Object: |
|---|
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Method from java.awt.image.ByteLookupTable Detail: |
public final byte[][] getTable() {
return data;
}
Returns the lookup table data by reference. If this ByteLookupTable
was constructed using a single byte 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 bands
for (int i=0; i < src.length; i++) {
int s = src[i] - 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] - 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 byte[] lookupPixel(byte[] src,
byte[] dst) {
if (dst == null) {
// Need to alloc a new destination array
dst = new byte[src.length];
}
if (numComponents == 1) {
// Apply one LUT to all bands
for (int i=0; i < src.length; i++) {
int s = (src[i]&0xff) - 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]&0xff) - 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. |