Bonjour,
Je suis entrain de tester ce framework et j'ai cet petit problème avec le programme suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
PlanarImage src_color = JAI.create("fileload", "Microsoft-Google1.jpg");
SampleModel sm = src_color.getSampleModel();
Raster srcras = src_color.getData();
 
double[] imageData = new double[src_color.getWidth() * src_color.getHeight()*3];
double[] pix = new double[sm.getNumBands()];
 
int count = 0;
for (int w = 0; w < src_color.getWidth(); w++){
for (int h = 0; h < src_color.getHeight(); h++){
srcras.getPixel(w, h, pix);
imageData[count] = pix[0] ;
count++;
imageData[count] = pix[1] ;
count++;
imageData[count] = pix[2];
count++;
 
}
}
SampleModel sampleModel = RasterFactory.createBandedSampleModel(
DataBuffer.TYPE_DOUBLE, src_color.getWidth(),src_color.getHeight() , 3);
DataBufferDouble dbuffer = new DataBufferDouble(imageData, src_color.getWidth() * src_color.getHeight());
WritableRaster wraster = RasterFactory.createWritableRaster(sampleModel,
dbuffer, new Point(0, 0));
ColorModel colorModel = PlanarImage.createColorModel(sampleModel);
TiledImage tiledImage = new TiledImage(0, 0, src_color.getWidth(), src_color.getHeight(), 0, 0,
sampleModel, colorModel);
tiledImage.setData(wraster);
JAI.create("filestore", tiledImage, "floatpattern.tif", "jpg");

L'erreur est la suivantequand j'appelle tiledImage.setData(wraster);
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
at com.sun.media.jai.codecimpl.util.DataBufferDouble.getElemDouble(DataBufferDouble.java:279)
at javax.media.jai.ComponentSampleModelJAI.getSampleDouble(ComponentSampleModelJAI.java:995)
at javax.media.jai.ComponentSampleModelJAI.getPixels(ComponentSampleModelJAI.java:1028)
at java.awt.image.Raster.getPixels(Raster.java:1629)
at com.sun.media.jai.util.JDKWorkarounds.setRect(JDKWorkarounds.java:345)
at javax.media.jai.TiledImage.setData(TiledImage.java:1250)
at Test.testProjectMAven.App.main(App.java:65)