MATLAB Answers

Pass matlab javaArray(​'java.lang​.Integer',​Length) as "java method input: int[]" to be filled in the method failed

1 view (last 30 days)
raym on 5 Aug 2020
Answered: raym on 6 Aug 2020
In java/C#/C++ method, there is a way to input a empty array as one argument in, and the method can fill this array, which could be used then.
Here I have a try in java-Matlab to see if this is feasible using a demo: read a jpg pixel value array using java command from Matlab environment:
filepath = 'C:\.....jpg';
aBufferedImage =;
aContainerJavaArr = javaArray('java.lang.Integer',aWidth*aHeight); % the aWidth and aHeight is the known width and height of the jpg file.
% then use empty aContainerJavaArr as input to the method getRGB, to let it be filled with true pixel RGB color values
No method 'getRGB' with matching signature found for class 'java.awt.image.BufferedImage'.
The argin list is :int,int,int,int,int[],int,int. So I convert all the argument to java.lang.Integer(), but the error is still same.
Why the javaArray('java.lang.Integer',...) cannot be used in this manner?

Accepted Answer

raym on 6 Aug 2020
I find an answer here.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by