Provide access to data offset in WritableRaster in Java 9

Phil Race philip.race at oracle.com
Thu Jul 13 18:22:38 UTC 2017


Hi Peter,

2d-dev would be the right list.

Sounds like you were accessing jdk internals and found that you
mostly can do away with that except for sub-images.

What you should really do is file an issue at bugs.java.com as 
client-libs/2d for cat/subcat.

If this had been raised earlier in JDK 9 development - we could have 
looked into
it in time. Now it will have to wait for a follow on release.

-phil.

On 07/13/2017 10:47 AM, Alan Bateman wrote:
> 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
>>
>



More information about the jigsaw-dev mailing list