Artikel ini membagikan kode yang relevan untuk Java untuk mengimplementasikan kompresi gambar untuk referensi Anda. Konten spesifiknya adalah sebagai berikut
impor java.awt.image; gambar java.awt.image.bufferedimage; impor java.io.bytearrayoutputstream; impor java.io.ioException; import java.io.inputStream; impor javax.imageio.imageio; kelas publik ImageProcess { / *** Image* / Private Image img; / *** Lebar*/ Lebar int privat; / *** Tinggi*/ Tinggi int privat; / *** format file*/ private string imageFormat; /*** konstruktor* @throws Exception*/public imageprocess (inputStream in, string fileName) melempar Exception {// Bangun objek gambar img = imageo.read (IN); // Dapatkan lebar gambar sumber lebar = img.getWidth (null); // Dapatkan tinggi gambar sumber tinggi = img.getHeight (null); // format file imageformat = filename.substring (filename.lastIndexof (".")+1); } / *** kompres sesuai dengan lebar atau tinggi* @param w int lebar maksimum* @param h int tinggi maksimum* / byte publik [] resizefix (int w, int h) melempar ioException {if (width / height> w / h) {return resizeByWidth (w); } else {return resizeByHeight (h); }} / *** Menskalakan gambar dalam proporsi dengan lebar* @param w int lebar baru* / byte publik [] resizeByWidth (int w) melempar ioException {int h = (int) (tinggi* w / lebar); pengubah ukuran kembali (W, h); } / *** Menskalakan gambar secara proporsional dengan tinggi* @param h int tinggi baru* / byte publik [] datazeByHeight (int h) melempar ioException {int w = (int) (lebar* h / tinggi); pengubah ukuran kembali (W, h); }/*** Kompres memaksa/memperbesar gambar ke ukuran tetap* @param w int lebar baru* @param h int tinggi baru*/byte publik [] mengubah ukuran (int w, int h) melempar ioException {// algoritm minimal scale_smooth memprioritaskan kelancaran gambar thumbnail. Kualitasnya lebih baik tetapi lebih lambat dari kecepatannya. BufferedImage Image = BufferedImage baru (W, H, bufferedImage.type_int_rgb); image.getGraphics (). DrawImage (img, 0, 0, w, h, null); // Gambarkan figure bytearrayoutputStream baos = baru bytearrayoutputStream (); Imageo.write (Image, Imageformat, Baos); return baos.tobytearray (); }}Di atas adalah semua tentang artikel ini. Saya berharap ini akan membantu untuk belajar semua orang dan dengan mudah menerapkan operasi kompresi gambar.