บทความนี้แบ่งปันรหัสที่เกี่ยวข้องสำหรับ Java เพื่อใช้การบีบอัดภาพสำหรับการอ้างอิงของคุณ เนื้อหาเฉพาะมีดังนี้
นำเข้า java.awt.image; image java.awt.image.bufferedimage; นำเข้า java.io.bytearrayoutputstream; นำเข้า java.io.ioexception; นำเข้า java.io.inputstream; นำเข้า Javax.imageio.imageio; ImageProcess คลาสสาธารณะ { / *** ภาพ* / ภาพส่วนตัว img; / *** ความกว้าง*/ ความกว้าง int ส่วนตัว; / *** ความสูง*/ ความสูง int ส่วนตัว; / *** รูปแบบไฟล์*/ สตริงส่วนตัว imageFormat; /*** constructor* @throws exception*/public imageProcess (inputStream in, string filename) พ่นข้อยกเว้น {// สร้างออบเจ็กต์ภาพ img = imageio.read (in); // รับความกว้างความกว้างของภาพต้นทาง = img.getWidth (NULL); // รับความยาวความยาวของภาพต้นฉบับ = img.getheight (null); // รูปแบบไฟล์ imageFormat = filename.substring (filename.lastindexof (".")+1); } / *** บีบอัดตามความกว้างหรือความสูง* @param w int ความกว้างสูงสุด* @param h ความสูงสูงสุด* / ไบต์สาธารณะ [] resizefix (int w, int h) โยน ioexception {ถ้า (ความกว้าง / ความสูง> w / h) } else {return resizeByHeight (H); }} / *** ปรับขนาดรูปภาพตามสัดส่วนด้วยความกว้าง* @param w int ความกว้างใหม่* / ไบต์สาธารณะ [] resizeByWidth (int w) พ่น IOException {int h = (int) (ความสูง* w / width); return resize (w, h); } / *** ปรับขนาดรูปภาพตามสัดส่วนที่มีความสูง* @param h ความสูงใหม่* / ไบต์สาธารณะ [] resizeByHeight (int h) พ่น IOException {int w = (int) (ความกว้าง* h / ความสูง); return resize (w, h); }/*** บังคับให้บีบอัด/ขยายภาพเป็นขนาดคงที่* @param w int width ใหม่* @param h int ความสูงใหม่*/ไบต์สาธารณะ [] ปรับขนาด (int w, int h) พ่น IOException {// อัลกอริธึม Thumbnail ของ Scale_Smooth คุณภาพดีกว่า แต่ช้ากว่าความเร็ว BufferedImage Image = New BufferedImage (W, H, BufferedImage.type_int_rgb); image.getGraphics (). drawimage (img, 0, 0, w, h, null); // วาดรูปที่ลดลง byteArrayOutputStream baos = ใหม่ byteArrayOutputStream (); Imageio.write (Image, ImageFormat, Baos); กลับ baos.tobytearray (); -ข้างต้นเป็นเรื่องเกี่ยวกับบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและใช้การบีบอัดภาพได้อย่างง่ายดาย