J'ai très peu d'expérience avec Java IO et les images, et je n'ai pas réussi à convertir une image aérienne enregistrée en tant que tableau d'octets dans un BufferedImage.Problème de conversion d'octets à partir d'une requête Bing Map en une image tamponnée
Voici mon code:
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);
La plupart de ce code est emprunté à http://www.exampledepot.com/egs/java.awt.image/Mandelbrot2.html.
Ce code génère l'exception suivante
java.awt.image.RasterFormatException: tableau de données trop petit (devrait être 122499)
la longueur réelle du tableau de données est 52341.
Le les dimensions sont 350px X 350px
Salut, donc si je change la valeur du second argument en largeur * hauteur, je reçois le même Exception – Ceniza
ce qui est la largeur et hauteur dans ce cas? Sont-ils tous deux 350 –