I have this code:
public Image toNegative()
{
int imageWidth = originalImage.getWidth();
int imageHeight = originalImage.getHeight();
int [] rgb = n
Your code will throw a NullPointerException
because you are never assigning a non-null reference to the rgb
variable. Hence, references to it (e.g. rgb[index]
) will generate the exception. If you wish to pass in a null array to getRGB you need to ensure you assign the result array returned by the method; e.g.
int[] rgb = originalImage.getRGB(0, 0, imageWidth, imageHeight, rgb, 0,imageWidth);
If you were to uncomment the code commented out there is a bug in that you are allocating the array as imageWidth * imageWidth
instead of imageWidth * imageHeight
, which is why you're seeing an ArrayIndexOutOfBoundsException
.