Imaglerader -Objekte werden normalerweise durch SPI -Klassen (Service Provider Interface) in einem bestimmten Format instanziiert. Die Dienstleisterklasse (z. B. eine Instanz von ImaglereaderSpi) ist bei IIOregistry registriert, in der er erstere verwendet, um die Anerkennung und den verfügbaren Format -Leser und Autor zu formatieren.
Die BufferedImage -Unterklasse beschreibt ein Bild mit einem zugänglichen Bilddatenpuffer. BufferedImage besteht aus Colormodel und Raster von Bilddaten. Die Anzahl und Art der Bande im Raster -SampleModel muss mit der erforderlichen Anzahl und Art von Colormodel übereinstimmen, um seine Farbe und Alpha -Komponenten darzustellen. Die oberen linken Koordinaten aller gepufferten Objekte sind (0,0). Daher muss jeder Raster, der zum Konstruktion eines BufferedImage verwendet wird, erfüllen: minx = 0 und miny = 0.
Natürlich schauen wir es uns an.
/***/package com.b510; import java.awt.image.buffenedImage; import Java.io.file; import Java.io.fileInputStream; Import Java.io.filenotfoundException; Import Java.io.ioxception; Import Java. javax.imageo.imagereeader; import javax.imageio.stream.imageInputStream; public class ImageUtil {/** * Der Name des Quellbildpfads ist wie folgt: c: /1.jpg */privat String srcpath = "e: /pool.jpg"; public imagil () {{{{{{{{{{{{{{{} public static void -void -Main). ImageUtil();util.getImageSizeByImageReader(util.getSrcpath());util.getImageSizeByBufferedImage(util.getSrcpath());}/** * Use ImageReader to get the image size* * @param src * Source image path*/public void getImageSizeByImageReader(String src) { long beginTime = new Date (). GetTime (); Datei = neue Datei (SRC); Try {iterator <FileReader> readers = imageIO.GetImaneArbyFormatName ("JPG"); Imagereader Reader = (ImagereAder) Readers.Next (); ImageInputStream iISISIO.CreateInputStream (Datei); true); system.out.println ("width:" + reader.getwidth (0)); [" + (Endime - BeginTime) +"] ms ");}/*** Verwenden Sie BufferedImage, um Bildgröße zu erhalten. FileInputStream (Datei);} catch (FilenotFoundException e2) {e2.printstacktrace ();} bufferedImage screeImg = null; try {SourceImg = javax.imageo.imageo.read (is); SourceImg.Getheight ());} catch (ioException e1) {e1.printstacktrace ();} Long Endtime = New Date (). setsrcPath (String srcPath) {this.srcpath = srcPath;}}Auslaufergebnisse:
Es ist leicht für Sie zu verstehen ... welche Methode Sie wählen sollten ...
Zusammenfassen
Das obige ist der gesamte Inhalt dieses Artikels über das Erhalten von Bildgrößeninstanzen in Imaglerader und BufferedImage in Java. Ich hoffe, es wird für alle hilfreich sein. Interessierte Freunde können weiterhin auf andere verwandte Themen auf dieser Website verweisen. Wenn es Mängel gibt, hinterlassen Sie bitte eine Nachricht, um darauf hinzuweisen. Vielen Dank an Freunde für Ihre Unterstützung für diese Seite!