Объекты ImageReader обычно создаются с помощью классов интерфейса поставщика услуг (SPI) в определенном формате. Класс поставщиков услуг (например, экземпляр Imagereaderspi) зарегистрирован в IIOREGISTION, которая использует первое для форматирования распознавания и представляет доступные форматы читателя и писателя.
Подкласс BufferedImage описывает изображение с доступным буфером данных изображения. BufferedImage состоит из Colormodel и растра данных изображений. Число и тип полосы в Samplemodel Raster должны соответствовать требуемому числу и типу Colormodel, чтобы представлять его цветные и альфа -компоненты. Верхние левые координаты всех объектов BufferedImage являются (0,0). Следовательно, любой растер, используемый для построения BufferedImage, должен удовлетворить: minx = 0 и miny = 0.
Само собой разумеется, давайте посмотрим на это.
/***/пакет com.b510; import java.awt.image.bufferedimage; импорт java.io.file; import java.io.fileinputstream; импорт java.io.filenotfoundexception; импорт java.io.ioexception; import java.util.date; import java. javax.imageio.imagereader; import javax.imageio.stream.imageinputstream; public class imageutil {/** * Имя пути исходного изображения следующим образом: c: /1.jpg */private srcpath = "E: /pool.jpg"; = new ImageUtil (); util.getImageSizeByImageDeader (util.getSrcPath ()); util.getImageSizeBufferedImage (util.getSrcPath ());}/*** Использование ImageReader для получения размера изображения** @param src* pather -image*/public getimagesize (string src) void -getImageSize (String Srcmime strc) (string src) void -getimagesize Date (). Gettime (); file file = new File (src); try {iterator <Imageereader> readers = imageio.getimagereadersbyformatname ("jpg"); Imageereader reader = (ImageReader) readers.next (); ImageInputeReam iis = imageIo.createImageInpream (file); True); System.out.println ("width:" + reader.getwidth (0)); System.out.println ("height:" + reader.getheight (0));} Catch (ioexception e) {e.printstacktrace ();} Долгое время = новое дата (). Gettime (); [" + (EndTime - BERINTIME) +"] MS ");}/*** Используйте BufferedImage, чтобы получить размер изображения** @param src* presect path*/public void getimagesizebufferedimage (string src) {long begintime = new Date (). getTime (); файл файл = new File (src); fileInputeR is = null; null; null; null; FileInputStream (file);} Catch (filenotFoundException e2) {e2.printStackTrace ();} BufferedImage SourceImg = null; try {sourceImg = javax.imageio.imageio.read (is); system.out.println ("width:" + sourcemg.getwidth (is); SourceImg.getheight ());} catch (ioException e1) {e1.printstacktrace ();} long endtime = new Date (). gettime (); System.out.println («Время для использования [BufferedImage] для получения размера изображения: [ + (endtime - betintime) +». void setsrcpath (string srcpath) {this.srcpath = srcpath;}}Результаты работы:
Вам легко понять ... какой метод вы должны выбрать ...
Суммировать
Выше приведено все содержание этой статьи о получении экземпляров размера изображения в Imagereader и BufferedImage в Java. Я надеюсь, что это будет полезно для всех. Заинтересованные друзья могут продолжать ссылаться на другие связанные темы на этом сайте. Если есть какие -либо недостатки, пожалуйста, оставьте сообщение, чтобы указать это. Спасибо, друзья, за вашу поддержку на этом сайте!