Spec-Zone .ru
спецификации, руководства, описания, API
|
public interface ImageTranscoder
Любое изображение может быть транскодировано (записанный различному формату чем тот, который оно было первоначально сохранено в), просто, выполняя операцию чтения, сопровождаемую операцией записи. Однако, потеря данных может произойти в этом процессе, должном отформатировать различия.
Вообще, лучшие результаты будут достигнуты, когда специфичные для формата объекты метаданных смогут быть созданы, чтобы инкапсулировать такую большую информацию об изображении и его связанных метаданных насколько возможно в сроках, которые понимаются под определенным ImageWriter
используемый, чтобы выполнить кодирование.
ImageTranscoder
может использоваться, чтобы преобразовать IIOMetadata
объекты, предоставленные ImageReader
(представление метаданных на изображение и на поток) в соответствующие объекты, подходящие для того, чтобы закодировать деталью ImageWriter
. В случае, где методы этого интерфейса вызывают непосредственно на ImageWriter
, вывод будет подходящим для того писателя.
Внутренние детали преобразования IIOMetadata
объект в специфичный для писателя формат изменится согласно контексту работы. Как правило, ImageWriter
осмотрит входящий объект видеть, реализует ли он дополнительные интерфейсы, с которыми писатель знаком. Это могло бы иметь место, например, если бы объект был получен посредством операции чтения на плагине читателя, записанном тем же самым поставщиком как писатель. В этом случае писатель может получить доступ к входящему объекту посредством его сменных определенных интерфейсов. В этом случае перекодирование может быть близко к без потерь, если формат файла изображения сохраняется постоянным. Если формат изменяется, писатель может все еще попытаться сохранить такую большую информацию насколько возможно.
Если входящий объект не реализует дополнительных интерфейсов, известных писателю, у писателя нет никакого выбора, кроме как получить доступ к нему через стандарт IIOMetadata
интерфейсы, такие как структурный вид, обеспеченный IIOMetadata.getAsTree
. В этом случае, вероятно, будет существенная потеря информации.
Независимый политик ImageTranscoder
по существу берет на себя ту же самую роль как плагин писателя в вышеупомянутых примерах. Это должно быть знакомо с закрытыми интерфейсами, используемыми и плагинами читателя и писателя, и вручную инстанцировать объекта, который будет применим писателем. Получающиеся объекты метаданных могут использоваться писателем непосредственно.
Никакие независимые реализации ImageTranscoder
обеспечиваются как часть стандартного API. Вместо этого намерение этого интерфейса состоит в том, чтобы обеспечить путь к реализациям, которые будут созданы и обнаружены приложениями, поскольку потребность возникает.
Модификатор и Тип | Метод и Описание |
---|---|
IIOMetadata |
convertImageMetadata(IIOMetadata inData, ImageTypeSpecifier imageType, ImageWriteParam param)
Возвраты
IIOMetadata объект, который может использоваться для кодирования и дополнительно изменил использование его интерфейсов документа или других интерфейсов, определенных для плагина писателя, который будет использоваться для того, чтобы закодировать. |
IIOMetadata |
convertStreamMetadata(IIOMetadata inData, ImageWriteParam param)
Возвраты
IIOMetadata объект, который может использоваться для кодирования и дополнительно изменил использование его интерфейсов документа или других интерфейсов, определенных для плагина писателя, который будет использоваться для того, чтобы закодировать. |
IIOMetadata convertStreamMetadata(IIOMetadata inData, ImageWriteParam param)
IIOMetadata
объект, который может использоваться для кодирования и дополнительно изменил использование его интерфейсов документа или других интерфейсов, определенных для плагина писателя, который будет использоваться для того, чтобы закодировать. Дополнительное ImageWriteParam
может быть предоставлен для случаев, где это может влиять на структуру потоковых метаданных.
Если предоставленный ImageWriteParam
содержит дополнительные значения установки, не понятые под этим писателем или транскодером, они будут проигнорированы.
inData
- IIOMetadata
объект, представляющий потоковые метаданные, используемые, чтобы инициализировать состояние возвращенного объекта.param
- ImageWriteParam
это будет использоваться, чтобы закодировать изображение, или null
.IIOMetadata
объект, или null
если плагин не обеспечивает возможности кодирования метаданных.IllegalArgumentException
- если inData
null
.IIOMetadata convertImageMetadata(IIOMetadata inData, ImageTypeSpecifier imageType, ImageWriteParam param)
IIOMetadata
объект, который может использоваться для кодирования и дополнительно изменил использование его интерфейсов документа или других интерфейсов, определенных для плагина писателя, который будет использоваться для того, чтобы закодировать. Дополнительное ImageWriteParam
может быть предоставлен для случаев, где это может влиять на структуру метаданных изображения.
Если предоставленный ImageWriteParam
содержит дополнительные значения установки, не понятые под этим писателем или транскодером, они будут проигнорированы.
inData
- IIOMetadata
объект, представляющий метаданные изображения, используемые, чтобы инициализировать состояние возвращенного объекта.imageType
- ImageTypeSpecifier
указание на расположение и информацию о цвете изображения, с которым будут связаны метаданные.param
- ImageWriteParam
это будет использоваться, чтобы закодировать изображение, или null
.IIOMetadata
объект, или null
если плагин не обеспечивает возможности кодирования метаданных.IllegalArgumentException
- если любой из inData
или imageType
null
.
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92