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"); |
Partager