我正在尝试将长度为128的字节数组转换为存储在BufferedImage中的32x32位图。
我正在使用以下代码:

private BufferedImage fSP;

public Pattern( byte[] aBitData ) {
  if ( aBitData == null ) {
    throw new IllegalArgumentException( "Please provide a non-null byte array of length 128: " + aBitData );
  }
  else if ( aBitData.length != 128 ) {
    throw new IllegalArgumentException( "Please provide a non-null byte array of length 128: " + aBitData.length );
  }
  InputStream in = new ByteArrayInputStream( aBitData );
  try {
    fSP = ImageIO.read( in );
  } catch( IOException e ) {
    e.printStackTrace();
  }
}


但是由于某种原因,每次将fSP设置为null时。我不明白为什么会这样。有人可以帮我吗?

最佳答案

我怀疑您的位数组中提供的数据与任何受支持的文件格式都不对应,即可以由任何已实现的ImageReader读取。

10-02 05:59