2ФЦЪ Конечно описано.... искать надо
load:
public static BufferedImage loadBufferedImage(String fileName) {
// Create BufferedImage
BufferedImage bi = null;
try {
// load file from disk
FileInputStream fis = new FileInputStream(fileName);
JPEGImageDecoder decoder = JPEGCodec.createJPEGDecoder(fis);
bi = decoder.decodeAsBufferedImage();
fis.close();
}
catch (Exception e) {}
resizе:
public static BufferedImage scaleToSize(int nMaxWidth, int nMaxHeight, BufferedImage imgSrc)
{
int nHeight = imgSrc.getHeight();
int nWidth = imgSrc.getWidth();
double scaleX = (double)nMaxWidth / (double)nWidth;
double scaleY = (double)nMaxHeight / (double)nHeight;
double fScale = Math.min(scaleX, scaleY);
return scale(fScale, imgSrc);
}
public static BufferedImage scale(double scale, BufferedImage srcImg)
{
if (scale == 1 )
{
return srcImg;
}
AffineTransformOp op = new AffineTransformOp
(AffineTransform.getScaleInstance(scale, scale), null);
return op.filter(srcImg, null);
}
save:
public static void saveImageToDisk(BufferedImage bi, String str) {
if (bi != null && str != null) {
// save image as Jpeg
FileOutputStream out = null;
try {
out = new FileOutputStream(str);
}
catch (java.io.FileNotFoundException fnf) {
System.out.println("File Not Found");
}
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(bi);
param.setQuality(0.75f, false);
try {
encoder.encode(bi);
out.close();
}
catch (java.io.IOException io) {
System.out.println(io);
}
}
}