ytx98 2023-10-19 12:50 采纳率: 0%
浏览 8

使用javax.imageio.ImageIO读图片文件的时候遇到奇怪的问题

我使用javax.imageio.ImageIO读图片文件的时候遇到奇怪的问题,详见代码。

public static void main(String[] args) {
        String x = String.format("%s","a");//这里注释就不会出问题,或者移到最后也没事,不知道为什么会影响到后面读写图片。
        File file = new File("/image2/card2023/images/1/586289502218227712/1697608167928/1.png");
        try {
            BufferedImage img = ImageIO.read(file);
            System.out.println(img.getWidth());
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
        String y = String.format("%s","a");//这句代码不会有问题。
    }

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Coordinate out of bounds!
at sun.awt.image.ByteInterleavedRaster.setDataElements(ByteInterleavedRaster.java:546)
at com.twelvemonkeys.imageio.plugins.webp.lossless.VP8LDecoder.decodeBwRef(VP8LDecoder.java:307)
at com.twelvemonkeys.imageio.plugins.webp.lossless.VP8LDecoder.decodeImage(VP8LDecoder.java:223)
at com.twelvemonkeys.imageio.plugins.webp.lossless.VP8LDecoder.readVP8Lossless(VP8LDecoder.java:131)
at com.twelvemonkeys.imageio.plugins.webp.WebPImageReader.readVP8Lossless(WebPImageReader.java:644)
at com.twelvemonkeys.imageio.plugins.webp.WebPImageReader.readAlpha(WebPImageReader.java:540)
at com.twelvemonkeys.imageio.plugins.webp.WebPImageReader.readVP8Extended(WebPImageReader.java:480)
at com.twelvemonkeys.imageio.plugins.webp.WebPImageReader.readVP8Extended(WebPImageReader.java:463)
at com.twelvemonkeys.imageio.plugins.webp.WebPImageReader.read(WebPImageReader.java:441)
at javax.imageio.ImageIO.read(ImageIO.java:1448)
at javax.imageio.ImageIO.read(ImageIO.java:1308)

  • 写回答

2条回答 默认 最新

  • bainlyblue 2023-10-19 14:05
    关注

    操作像素时,非常容易范一个错误,那就是行和列的顺序不对。BufferedImage中操作像素的API和OpenCV中正好是反着的
    正确代码

    for (int i = 0; i < height; i++) {
          for (int j = 0; j < width; j++) {
              img.getRGB(j, i);
          }
    }
    
    
    评论

报告相同问题?

问题事件

  • 创建了问题 10月19日

悬赏问题

  • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
  • ¥20 Java-Oj-桌布的计算
  • ¥15 powerbuilder中的datawindow数据整合到新的DataWindow
  • ¥20 有人知道这种图怎么画吗?
  • ¥15 pyqt6如何引用qrc文件加载里面的的资源
  • ¥15 安卓JNI项目使用lua上的问题
  • ¥20 RL+GNN解决人员排班问题时梯度消失
  • ¥60 要数控稳压电源测试数据
  • ¥15 能帮我写下这个编程吗
  • ¥15 ikuai客户端l2tp协议链接报终止15信号和无法将p.p.p6转换为我的l2tp线路