Die Codekopie lautet wie folgt:
öffentliches Klassenbild {
// Todo automatisch generierter Konstruktorstub
public static void resizepng (String from File, String Tofile, int outputwidth, int outputheight, boolescher Anteil) {
versuchen {
Datei f2 = neue Datei (from file);
Bufferedimage bi2 = imageio.read (f2);
Int New Width;
int Newheight;
// Bestimmen Sie, ob es sich um ein Skalierungsverhältnis handelt
if (proportional == true) {
// Berechnen Sie die Ausgangsbildbreite und -höhe für die Skalierung des gleichen Verhältnisses
double rate1 = ((doppelte) bi2.getwidth (null)) / (doppelt) outputwidth + 0,1;
Double Rate2 = ((doppelte) bi2. Getheight (null)) / (doppelt) übertroffen + 0,1;
// Skalierungskontrolle gemäß dem großen Skalierungsverhältnis
Doppelrate = Rate1 <Rate2?
newWidth = (int) (((doppelte) bi2.getwidth (null)) / rate);
newHeight = (int) ((((doppelte) bi2.Getheight (null)) / Rate);
} anders {
newwidth = outputwidth;
NewHeight = Outputeight;
}
Bufferedimage to = New BufferedImage (New Width, NewHeight,
Bufferedimage.type_int_rgb);
Graphics2d G2D = to.CreateGraphics ();
to = g2d.getDeviceConfiguration (). CreateCompatibleImage (NewWidth, NewHeight,
Transparenz.Translucent);
g2d.disis ();
g2d = to.createGraphics ();
Bild von = bi2.getScaledInstance (NewWidth, NewHeight, Bi2.Scale_Area_averaging);
g2d.drawimage (von, 0, 0, null);
g2d.disis ();
Imageio.write (to, "png", neue Datei (Tofile));
} catch (ioException e) {
E. printstacktrace ();
}
}
public static void main (String [] args) löst ioException {aus
System.out.println ("start");
resizepng ("C: // Dokumente und Einstellungen // Administrator // Desktop // 8d9e9c82d158ccbf8b31059319d8bc3eb035414e.jpg", "C: // Dokumente und Einstellungen // Administrator // Desktop // Elell.Png", 200, 100),)) ;
System.out.println ("ok");
}
}