The 2d-dev or awt-dev mailing lists may be a better place to bring this up.
-Alan On 13/07/2017 17:21, Peter A wrote:
Apologies since this probably not the correct list, but I was referenced here from another Java list. Background: The high level API in a BufferedImage is very very very slow. To get around that problem, in previous versions of Java, the internal rasters which were defined in sun.awt.image were accessed. Doing so enabled real-time computer vision in Java. Problem: Accessing the low level Rasters is no longer practical in Java 9. After this problem was reported by one of my users I looked into it and found a work around, for most situations. Unfortunately the higher level WritableRaster does not provide access to the offset inside its internal data array. This makes processing of subimages impossible. My suspicion is that it is most likely an oversight because it provides access to every other piece of information needed and the raw data. It would be great if getDataOffset() could be moved into WritableRaster or one of its parents instead of being hidden in children of WritableRaster. Just to clarify the raw arrays are stored inside of a DataBuffer and that data structure contains an offset. This offset is always set to zero and the offset inside of WritableRaster is what is needed, e.g. IntegerInterleavedRaster.getDataOffsets(). Thanks, - Peter