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 32 33 34 35 36 37 38
|
import java.awt.image.renderable.ParameterBlock;
import javax.media.jai.Interpolation;
import javax.media.jai.JAI;
import javax.media.jai.PlanarImage;
import javax.media.jai.RenderedOp;
public void extract(int fromX, int fromY, int widthX, int heightY, String file) {
try {
//System.out.println("Using JAI build version: " + JAI.getBuildVersion());
// Open file
PlanarImage pImage = JAI.create("fileload", file);
ParameterBlock pbCrop = new ParameterBlock();
pbCrop.addSource(pImage);
pbCrop.add((float)fromX);
pbCrop.add((float)fromY);
pbCrop.add((float)widthX);
pbCrop.add((float)heightY);
//added new
pbCrop.add(Interpolation.getInstance(Interpolation.INTERP_BILINEAR));
//INTERP_BILINEAR and INTERP_BICUBIC produce same results
pbCrop.add(Interpolation.getInstance(Interpolation.INTERP_BICUBIC));
RenderedOp renderedOPCrop = JAI.create("crop", pbCrop, null);
//Intermediate crop test
String nameFileCrop = file+"_Crop.tif";
JAI.create("filestore", renderedOPCrop,nameFileCrop);
System.out.println(nameFileCrop +" created");
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
} |
Partager