java.lang.IllegalArgumentException: Invalid scanline stride

Viewed 20

Don't now how to explain the error.

I was playing with ImageIO and BufferedImage like usual and it only took me two lines of code to get an error I had never gotten before.

The code:

public static void main(String[] args) throws IOException
{
    File image = Path.of("RGB_Reference.png").toFile();
    BufferedImage bi = ImageIO.read(image);
}

The error message:

Exception in thread "main" java.lang.IllegalArgumentException: Invalid scanline stride
        at java.desktop/java.awt.image.ComponentSampleModel.getBufferSize(ComponentSampleModel.java:265)
        at java.desktop/java.awt.image.ComponentSampleModel.verify(ComponentSampleModel.java:243)
        at java.desktop/java.awt.image.ComponentSampleModel.<init>(ComponentSampleModel.java:158)
        at java.desktop/java.awt.image.PixelInterleavedSampleModel.<init>(PixelInterleavedSampleModel.java:87)
        at java.desktop/java.awt.image.PixelInterleavedSampleModel.createCompatibleSampleModel(PixelInterleavedSampleModel.java:144)
        at java.desktop/javax.imageio.ImageTypeSpecifier.getSampleModel(ImageTypeSpecifier.java:1031)
        at java.desktop/javax.imageio.ImageTypeSpecifier.createBufferedImage(ImageTypeSpecifier.java:1064)
        at java.desktop/javax.imageio.ImageReader.getDestination(ImageReader.java:2877)
        at java.desktop/com.sun.imageio.plugins.png.PNGImageReader.readImage(PNGImageReader.java:1494)
        at java.desktop/com.sun.imageio.plugins.png.PNGImageReader.read(PNGImageReader.java:1853)
        at java.desktop/javax.imageio.ImageIO.read(ImageIO.java:1470)
        at java.desktop/javax.imageio.ImageIO.read(ImageIO.java:1317)
        at Tests.Tests.main(Tests.java:17)

These are the details of the image being used:

It's a png, 3.65mb and all the pixels are white because I wanted to use it as a base and draw on top.

enter image description here

1 Answers

After following several lines of java.desktop code and I believe the problem was trying to read an image that was too big.

Related