La copia del código es la siguiente:
imagen de clase pública {
// TODO STUB del constructor generado automático
public static void resizepng (String fromFile, string tofile, int outputWidth, int OutPuthEight, proporción booleana) {
intentar {
Archivo f2 = nuevo archivo (fromFile);
BufferedImage Bi2 = ImageIO.Read (F2);
int Newwidth;
int NewHeight;
// Determinar si se trata de una relación de escala
if (proporción == true) {
// Calcule el ancho de la imagen de salida y la altura para la escalada de igual relación
tasa doble1 = ((doble) bi2.getwidth (nulo)) / (doble) salida de salida + 0.1;
tasa doble2 = ((doble) bi2.getheight (nulo)) / (doble) OutPuthEight + 0.1;
// Control de escala de acuerdo con la gran relación de escala
Tasa doble = tasa1 <tasa2?
newWidth = (int) ((((doble) bi2.getwidth (null)) / rate);
newHeight = (int) ((((doble) bi2.getheight (null)) / rate);
} demás {
newWidth = outputwidth;
newHeight = OutPuthEight;
}
BufferedImage a = New BufferedImage (NewWidth, NewHeight,
BufferedImage.type_int_rgb);
Graphics2d g2d = to.createGraphics ();
a = g2d.getDeviceConfiguration (). CreateCompatibleImage (NewWidth, NewHeight,
Transparencia.translucent);
g2d.dispose ();
g2d = to.createGraphics ();
Imagen de = bi2.getScaledInstance (NewWidth, NewHeight, Bi2.Scale_area_averaging);
g2d.drawimage (de, 0, 0, nulo);
g2d.dispose ();
Imageio.write (a "png", nuevo archivo (tofile));
} Catch (ioException e) {
E.PrintStackTrace ();
}
}
public static void main (string [] args) lanza ioexception {
System.out.println ("inicio");
resizePng ("c: // documentos y configuraciones // administrador // escritorio // 8D9E9C82D158CCBF8B31059319D8BC3EB035414E.JPG", "C: // Documentos y configuraciones // Administrador // Desktop // Ell.png", 200, 100, verdadero) ;
System.out.println ("OK");
}
}