Spec-Zone .ru
спецификации, руководства, описания, API
|
СОДЕРЖАНИЕ | ПРЕДЫДУЩИЙ | NEXT |
As an image is being read or written, the plug-in may provide updates to the application. The application may provide one or more classes that implement interfaces from theКакjavax.image.event
package. Instances of these classes are then added to theImageReader
orImageWriter
being used. For example, class MyReadProgressListener implements IIOReadProgressListener { public MyReadProgressListener() {} public void imageStarted(ImageReader source) { System.out.println("Started reading!"); } // Other methods from IIOReadProgressListener omitted } IIOReadProgressListener listener = new MyReadProgressListener(); reader.addIIOReadProgressListener(listener);
ImageReader.read
продвижения метода, методы на listener
будет вызван неоднократно, чтобы указать, сколько из изображения было считано. Поскольку эти методы вызывают в то время как ImageReader.read
является активным, они не должны вызвать большинство методов от того же самого ImageReader
объект. Они могут вызвать ImageReader.abort()
, который вызовет ImageReader.read
возвратиться, даже если это только частично полно.IIOReadProgressListener
ИнтерфейсIIOReadProgressListener
может использоваться, чтобы обеспечить простую информацию о статусе во время чтения. Оценка процента завершения чтения обеспечивается, который может использоваться, чтобы обновить Swing JProgressBar
или другой индикатор хода выполнения, или оценить время, оставаясь читать большое изображение. imageStarted
метод вызовут в начале чтения. Во время чтения, imageProgress
метод вызовут многократно, каждый раз с различным, увеличивающимся значением для percentageDone
параметр. Когда чтение собирается завершиться, imageComplete
метод вызовут.
Точно так же thumbnailStarted
, thumbnailProgress
, и thumbnailComplete
методы вызовут во время чтений миниатюры.
Другие методы существуют, чтобы указать на запуск и конец последовательности чтений изображения, выполняемых ImageReader.readAll
метод. Дополнительно, для продолжающегося чтения возможно быть прерванным, используя ImageReader.abort
метод; в этом случае, слушатель readAborted
метод вызовут.
IIOReadUpdateListener
ИнтерфейсIIOReadUpdateListener
обеспечивает более подробную информацию о продвижении чтения изображения. Некоторые форматы изображения позволяют чередованное или прогрессивное кодирование, в котором подмножество пиксельных данных делается доступным быстро, так, чтобы сырая версия изображения могла быть выведена на экран, в то время как остаток от пиксельных данных все еще получается и декодируется. Типичная схема могла бы начаться, отправляя только каждую четвертую строку, и только каждый четвертый пиксель в каждой из тех строк, так, чтобы начальное изображение потребовало, чтобы только одна шестнадцатая общей суммы данных была передана и декодировалась. Если чередование не использовалось, только лучшая одна шестнадцатая изображения будет выведена на экран за то же самое количество времени. Таким образом человек, просматривающий чересстрочное изображение, будет в состоянии получить смысл его содержания намного скорее, чем если бы традиционное слева направо, порядок от начала до конца использовался. Реализовывая методы IIOReadUpdateListener
интерфейс, класс приложений может получить уведомление, когда группы возможно пикселей состоящих из нескольких несмежных участков готовы быть выведенными на экран. Эти методы также получают ссылку на BufferedImage
это находится в процессе того, чтобы быть переполненным в, который может использоваться, чтобы обновить дисплей, чтобы включать недавно декодируемые пиксели.
Декодируя чересстрочное или прогрессивное изображение, декодирование продолжается в многократных передачах. В начале каждой передачи, слушатель passStarted
метод вызовут, чтобы указать на набор пикселей, которые могут быть перезаписаны во время следующей передачи. Эта оценка консервативна; не каждый пиксель в области будет обязательно обновлен во время передачи. Поскольку передача прогрессирует, imageUpdate
метод вызовут с параметрами, описывающими область пикселей, которые имеют, получают новые значения. Эта область описывается координатами ее верхнего левого угла, ее ширины и высоты, и интервала между пикселями, которые составляют передачу (в примере выше, оба параметра были бы равны 4 для начальной передачи). Когда передача завершилась, passComplete
метод вызывают. Подобные методы позволяют продвижению чтений изображения миниатюры быть прослеженным.
IIOReadWarningListener
ИнтерфейсIIOReadWarningListener
к ImageReader
, информация о нефатальных ошибках может быть получена. Например, читатель мог бы обнаружить тег или блок, который не должен присутствовать. Даже при том, что читатель может хотеть игнорировать ошибку и продолжаться с декодированием, она может хотеть сообщить приложению, что входной источник был уродлив, поскольку это могло указать на проблемы в приложении, которое генерировало изображения. ImageReader
s может определить ряд Locale
s, для которого они могут обеспечить локализованные предупреждающие сообщения. Набор доступных локалей может быть получен от читателя getAvailableLocales
метод. Требуемая локаль должна тогда быть установлена, вызывая читателя setLocale
метод до присоединения IIOReadWarningListener
. Каждый слушатель получит сообщения в Locale
это было в действительности в то время, когда это было присоединено к читателю.
IIOWriteProgressListener
и IIOWriteWarningListener
ИнтерфейсыIIOWriteProgressListener
и IIOWriteWarningListener
интерфейсы функционируют так же к их дубликатам читателя.