Objek Imagereader biasanya dipakai oleh kelas Antarmuka Penyedia Layanan (SPI) dalam format tertentu. Kelas penyedia layanan (seperti instance Imagereaderspi) terdaftar dengan iioregistri, yang menggunakan yang pertama untuk memformat pengakuan dan mewakili format yang tersedia pembaca dan penulis.
Subkelas BufferedImage menjelaskan gambar dengan buffer data gambar yang dapat diakses. BufferedImage terdiri dari colormodel dan raster data gambar. Jumlah dan jenis pita di raster's samplemodel harus cocok dengan jumlah dan jenis colormodel yang diperlukan untuk mewakili komponen warna dan alfa. Koordinat kiri atas semua objek buferedImage adalah (0,0). Oleh karena itu, setiap raster yang digunakan untuk membangun bufferedImage harus memuaskan: minx = 0 dan miny = 0.
Tak perlu dikatakan, mari kita lihat itu.
/***/paket com.b510; impor java.awt.image.bufferedimage; impor java.io.file; impor java.io.fileinputstream; javax.imageio.imagereader; import javax.imageio.stream.imageInputStream; kelas publik ImageUtil {/** * Nama jalur gambar sumber adalah sebagai berikut: c: /1.jpg */private string srcpath = "e: /pool. util = gambar baru (); util.getImageSizeMagereader (util.getsrcpath ()); util.getImageSizeBufferedImage (util.getsrcpath ());}/*** Gunakan Imagereader untuk mendapatkan ukuran gambar** @param src* sumber gambar gambar sumber*/ new Date().getTime();File file = new File(src);try {Iterator<ImageReader> readers = ImageIO.getImageReadersByFormatName("jpg");ImageReader reader = (ImageReader) readers.next();ImageInputStream iis = ImageIO.createImageInputStream(file);reader.setInput(iis, true); System.out.println ("Lebar:" + reader.getWidth (0)); System.out.println ("Tinggi:" + reader.getHeight (0));} catch (ioException e) {e.printstacktrace ();} Long Endtime = Date baru (). GetTime. size: [" + (endTime - beginTime)+"]ms");}/** * Use BufferedImage to get image size* * @param src * Source image path*/public void getImageSizeByBufferedImage(String src) { long beginTime = new Date().getTime();File file = new File(src);FileInputStream is = null;try {is = new FileInputStream (file);} catch (FileNotFoundException E2) {e2.printstacktrace ();} bufferedImage SourceImg = null; coba {SourceImg = javax.imageio.imageo.read (is); System.out.println ("width:" + sourceImg. SourceImg.getHeight ());} catch (ioException e1) {e1.printstacktrace ();} panjang akhir waktu = tanggal baru (). getTime (); System.out.println ("Time to menggunakan [bufferedImage] untuk mendapatkan ukuran gambar: [" + (endtime - beginTime) + "] ms"); srcpath;} public void setSrcPath (string srcpath) {this.srcpath = srcpath;}}Hasil Menjalankan:
Mudah bagi Anda untuk memahami ... metode mana yang harus Anda pilih ...
Meringkaskan
Di atas adalah semua konten artikel ini tentang mendapatkan contoh ukuran gambar di Imagereader dan bufferedImage di Java. Saya harap ini akan membantu semua orang. Teman yang tertarik dapat terus merujuk ke topik terkait lainnya di situs ini. Jika ada kekurangan, silakan tinggalkan pesan untuk menunjukkannya. Terima kasih teman atas dukungan Anda untuk situs ini!