srcSampleType = srcPA.sampleType == PixelAccessor.TYPE_BIT ?
DataBuffer.TYPE_BYTE : srcPA.sampleType;
isInitialized = true;
}
UnpackedImageData uid =
srcPA.getPixels(sources[0], destRect,
srcSampleType, false);
Rectangle rect = uid.rect;
byte[][] data = uid.getByteData();
int srcLineStride = uid.lineStride;
int srcPixelStride = uid.pixelStride;
byte[] rBand = data[0];
byte[] gBand = data[1];
byte[] bBand = data[2];
int lastLine = rect.height * srcLineStride + uid.bandOffsets[0];
if (destPA == null)
destPA = new PixelAccessor(this);
UnpackedImageData destUid =
destPA.getPixels(dest, destRect,
sampleModel.getDataType(), false);
int destLineOffset = destUid.bandOffsets[0];
int destLineStride = destUid.lineStride;
byte[] d = destUid.getByteData(0);
int[] currentPixel = new int[3];
for (int lo = uid.bandOffsets[0]; lo < lastLine; lo += srcLineStride) {
int lastPixel =
lo + rect.width * srcPixelStride - uid.bandOffsets[0];