void copyUnsupportedNioImageToImageData(NioImageBuffer nioImage, int srcX, int srcY,
int dstX, int dstY, int copyWidth, int copyHeight, ImageData iData) {
if (MasterControl.isDevLoggable(Level.INFO)) {
MasterControl.getDevLogger().info("ImageComponent - Copying Unsupported NioImage, use a different image type");
}
assert (iData.getType() == ImageDataType.TYPE_BYTE_BUFFER);
assert (getImageFormatType() == ImageFormatType.TYPE_BYTE_RGBA);
int length = copyWidth * copyHeight;
ByteBuffer srcBuffer = (ByteBuffer) nioImage.getDataBuffer();
srcBuffer.rewind();
ByteBuffer dstBuffer = iData.getAsByteBuffer();
dstBuffer.rewind();
for(int i = 0; i < length; i +=4) {
dstBuffer.put(i, srcBuffer.get(i+3));
dstBuffer.put(i+1, srcBuffer.get(i+2));
dstBuffer.put(i+2, srcBuffer.get(i+1));
dstBuffer.put(i+3, srcBuffer.get(i));
}
}