نسخة الكود كما يلي:
صورة الفئة العامة {
// كعب مُنشئ تلقائيًا
RESIZEPNG الباطل الثابت العام (سلسلة Fromfile ، سلسلة tofile ، int outputwidth ، int outputheight ، نسبة منطقية) {
يحاول {
ملف f2 = ملف جديد (fromFile) ؛
bufferedImage bi2 = imageio.read (f2) ؛
int newwidth ؛
int newheight
// تحديد ما إذا كانت نسبة التحجيم
إذا (النسبة == صحيح) {
// احسب عرض صورة الإخراج والارتفاع لتكافؤ نسبة التحجيم
معدل مزدوج 1 = ((مزدوج) Bi2.getWidth (NULL)) / (double) OutputWidth + 0.1 ؛
معدل مزدوج 2 = ((مزدوج) bi2.getheight (null)) / (double) outPutheight + 0.1 ؛
// التحكم في التحجيم وفقًا لنسبة التحجيم الكبيرة
معدل مزدوج = معدل <المعدل 2؟
newWidth = (int) (((((double) bi2.getwidth (NULL)) / معدل) ؛
newheight = (int) (((((مزدوج) bi2.getheight (null)) / معدل) ؛
} آخر {
NewWidth = OutputWidth ؛
NewHeight = OutPutheight ؛
}
BufferedImage إلى = جديد bufferedimage (Newwidth ، Newheight ،
bufferedImage.type_int_rgb) ؛
graphics2d g2d = to.creategraphics () ؛
إلى = g2d.getDeviceConfiguration ().
الشفافية.
g2d.dispose () ؛
g2d = to.creategraphics () ؛
صورة من = bi2.getScaledInstance (NewWidth ، Newheight ، Bi2.scale_area_averaging) ؛
g2d.drawimage (من ، 0 ، 0 ، null) ؛
g2d.dispose () ؛
imageio.write (إلى ، "png" ، ملف جديد (tofile)) ؛
} catch (ioException e) {
E.PrintStackTrace () ؛
}
}
الفراغ الثابت العام (سلسلة [] args) يلقي ioexception {
system.out.println ("start") ؛
RESIZEPNG ("C: // المستندات والإعدادات // المسؤول // سطح المكتب // 8d9e9c82d158ccbf8b31059319d8bc3eb035414e.jpg" ، "c: // document and settors // desident // desktop // ell.png ؛
System.out.println ("OK") ؛
}
}