Java IOと画像に関する経験はほとんどありません。バイト配列として保存された空中画像をBufferedImageに変換するのに失敗しました。このコードのほとんどは、http://www.exampledepot.com/egs/java.awt.image/Mandelbrot2.htmlからBing MapリクエストからBufferedImageにバイトを変換する際の問題
int width = scaledImage.getWidth();
int height = scaledImage.getHeight();
DataBuffer buffer = new DataBufferByte(scaledImage.getImage(), scaledImage.getImage().length, 0);
SampleModel sampleModel = new SinglePixelPackedSampleModel(DataBuffer.TYPE_BYTE, width, height, new int[]{(byte)0xf});
WritableRaster raster = Raster.createWritableRaster(sampleModel, buffer, null);
ColorModel colorModel = imageManager.generateColorModel();
BufferedImage image = new BufferedImage(colorModel, raster, false, null);
を借りている:
は、ここに私のコードです。
このコードは、次の例外をスロー
java.awt.image.RasterFormatException:データアレイが小さすぎる(122499であるべきである)
データアレイの実際の長さは、52341.
あります寸法は、ここでは350px X 350px
こんにちは、2番目の引数の値をwidth * heightに変更すると、同じ例外が発生します – Ceniza
widthとwidthは何ですか?その場合の高さですか?彼らはどちらも350歳ですか? –