La copie de code est la suivante:
Photo de classe publique {
// talon de constructeur généré automatiquement
public static void resizepng (String FromFile, String tofile, int Outputwidth, int ouputheight, proportion booléenne) {
essayer {
Fichier f2 = nouveau fichier (fromfile);
BufferedImage Bi2 = ImageIo.Read (F2);
int débutant;
int NewHeight;
// déterminer s'il s'agit d'un rapport de mise à l'échelle
if (proportion == true) {
// Calculez la largeur et la hauteur de l'image de sortie pour une échelle de rapport égal
double rate1 = ((double) bi2.getWidth (null)) / (double) outputwidth + 0,1;
double rate2 = ((double) bi2.GetHeight (null)) / (double) Outputheight + 0,1;
// Contrôle de mise à l'échelle en fonction du grand rapport de mise à l'échelle
Double taux = Rate1 <Rate2?
newwidth = (int) ((((double) bi2.getWidth (null)) / rate);
newHeight = (int) ((((double) bi2.getheight (null)) / rate);
} autre {
Newwidth = outputwidth; // la largeur de l'image de sortie
NewHeight = OutPuthEight;
}
BufferedImage à = new BufferedImage (Newwidth, Newheight,
BufferedImage.Type_int_rgb);
Graphics2d g2d = to.creategraphics ();
à = g2d.getDeviceConfiguration (). CreateCompatibleImage (Newwidth, Newheight,
Transparence.translucent);
g2d.dispose ();
g2d = to.creategraphics ();
Image de = bi2.getScaledInstance (newwidth, newheight, bi2.scale_area_avering);
G2d.DrawImage (de, 0, 0, null);
g2d.dispose ();
Imageo.write (vers, "png", nouveau fichier (tofile));
} catch (ioexception e) {
e.printStackTrace ();
}
}
public static void main (String [] args) lance ioException {
System.out.println ("start");
resizepng ("c: // documents et paramètres // administrateur // Desktop // 8d9e9c82d158cbf8b31059319d8bc3eb035414e.jpg", "c: // documents and paramts // administrateur // dektop // ell.png", 200, 100, 100, ;
System.out.println ("OK");
}
}