Returns data for a single pixel in a primitive array of type
TransferType
. For a
ComponentSampleModel
, this is the same as the data type, and samples are returned one per array element. Generally,
obj
should be passed in as
null
, so that the
Object
is created automatically and is the right primitive data type.
The following code illustrates transferring data for one pixel from DataBuffer db1
, whose storage layout is described by ComponentSampleModel csm1
, to DataBuffer db2
, whose storage layout is described by ComponentSampleModel csm2
. The transfer is usually more efficient than using getPixel
and setPixel
.
ComponentSampleModel csm1, csm2;
DataBufferInt db1, db2;
csm2.setDataElements(x, y,
csm1.getDataElements(x, y, null, db1), db2);
Using
getDataElements
and
setDataElements
to transfer between two
DataBuffer/SampleModel
pairs is legitimate if the
SampleModel
objects have the same number of bands, corresponding bands have the same number of bits per sample, and the
TransferType
s are the same.
If obj
is not null
, it should be a primitive array of type TransferType
. Otherwise, a ClassCastException
is thrown. An ArrayIndexOutOfBoundsException
might be thrown if the coordinates are not in bounds, or if obj
is not null
and is not large enough to hold the pixel data.