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
| public static BufferedImage reSizeTo(BufferedImage bufI, int x, int y) {
float iX = bufI.getWidth();
float iY = bufI.getHeight();
System.out.println("Size x=" + String.valueOf(iX) + " : y=" + String.valueOf(iY));
float rX = Math.abs((iX)/x);
float rY = Math.abs((iY)/y);
if(rX > rY){
iY = iY / rX;
iX = x;
rY = rX;
}
else {
iX = iX / rY;
iY = y;
rX = rY;
}
System.out.println("ReSizeTo x=" + String.valueOf((int)iX) + " : y=" + String.valueOf((int)iY));
AffineTransform tx = new AffineTransform();
tx.scale(rX, rY);
BufferedImage resizedImage = new BufferedImage((int)iX,(int)iY,bufI.getType());
Graphics2D g = resizedImage.createGraphics();
g.setComposite(AlphaComposite.Src);
g.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
g.drawImage(bufI, 0, 0, (int)iX,(int)iY, null);
g.setTransform(tx);
g.dispose();
return bufI;
} |
Partager