我正在尝试将长度为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
读取。