Artikel ini menjelaskan definisi dan penggunaan kelas penskalaan berkualitas tinggi yang diimplementasikan di Java. Bagikan untuk referensi Anda, sebagai berikut:
Saya menemukan banyak dari mereka tetapi tidak ideal, dan akhirnya menemukan seseorang yang menulisnya dari orang asing. Saya harus mengakui bahwa apa yang ditulis orang asing itu memang luar biasa.
Paket com.test; impor com.sun.image.codec.jpeg.jpegimageencoder; import com.sun.image.codec.jpeg.jpegcodec; impor com.sun.image.codec.jpeg.jpegencodeparam; impor javax.swing.*; java.io.ioException; impor java.awt.*; impor java.awt.image.bufferedImage; impor java.awt.image.kernel; import java.awt.image. 1) {melempar IllegalArgumentException baru ("Kualitas harus antara 0 dan 1"); } ImageIcon II = ImageIcon baru (originalFile.getCanonicalPath ()); Gambar i = ii.getImage (); Gambar ulang gambar = null; int iwidth = i.getWidth (null); int iheight = i.getHeight (null); if (iWidth> iheight) {resizeImage = i.getscaledInstance (newwidth, (newwidth * iheight) / iwidth, image.scale_smooth); } else {resizeImage = i.getScaledInstance ((newwidth * iwidth) / iheight, newwidth, image.scale_smooth); } // Kode ini memastikan bahwa semua piksel dalam gambar dimuat. Gambar temp = new ImageIcon (Ulang REVIZEIMAGE) .getImage (); // Buat gambar buffered. BufferedImage bufferedImage = BufferedImage baru (temp.getWidth (null), temp.getHeight (null), bufferedimage.type_int_rgb); // Salin gambar ke gambar buffered. Grafik g = bufferedimage.creategraphics (); // Bersihkan latar belakang dan cat gambar. G.SetColor (Color.White); g.fillrect (0, 0, temp.getWidth (null), temp.getheight (null)); G.DrawImage (temp, 0, 0, null); g.dispose (); // Lembutkan. float softenfactor = 0,05F; float [] softenArray = {0, softenfactor, 0, softenfactor, 1 - (softenfactor * 4), softenfactor, 0, softenfactor, 0}; Kernel kernel = kernel baru (3, 3, softenarray); Convolvolop cop = new convolveop (kernel, convolvoleop.edge_no_op, null); bufferedImage = cop.filter (bufferedImage, null); // Tulis jpeg ke file. FileOutputStream out = FileOutputStream baru (Ulang Penyisihan); // mengkodekan gambar sebagai stream data JPEG JPEGIMageEncoder encoder = jpegcodec.createJpegencoder (out); Jpegencodeparam param = encoder .getDefaultJpegencodeparam (bufferedImage); param.setquality (kualitas, true); encoder.setjpegencodeparam (param); encoder.encode (bufferedImage); } // Contoh Penggunaan public static void main (string [] args) melempar ioException {// file originalImage = file baru ("c: //11.jpg"); // mengubah ukuran (originalImage, file baru ("c: //11-0.jpg"), 150, 0.7f);//originalsImage, "- joW:/JETPG "), 150, 0.7F); // RESIZE (original, original, original, original, original, original, original, original, original, original, original, original," 1f); File originalImage = file baru ("c: //1207.gif"); mengubah ukuran (originalImage, file baru ("c: //1207-0.jpg"), 150, 0.7f); mengubah ukuran (originalImage, file baru ("c: //1207-1.jpg"), 150, 1f); }}Untuk lebih banyak konten terkait Java, pembaca yang tertarik dengan situs ini dapat melihat topik: "Ringkasan Keterampilan Operasi Gambar Java", "Ringkasan Keterampilan Operasi Tanggal dan Waktu Java", "Ringkasan Keterampilan Operasi Java Dom Node", "Ringkasan File Java dan Keterampilan Operasi Direktori" dan "Tutorial Struktur Data Java dan Algorith.
Saya harap artikel ini akan membantu pemrograman Java semua orang.