模块 java.desktop

类 ImageReaderWriterSpi

java.lang.Object
javax.imageio.spi.IIOServiceProvider
javax.imageio.spi.ImageReaderWriterSpi
所有已实现的接口:
RegisterableService
已知子类:
ImageReaderSpi , ImageWriterSpi

public abstract class ImageReaderWriterSpi extends IIOServiceProvider
包含 ImageReaderSpiImageWriterSpi 共有的实例变量和方法的超类。
参见:
  • 字段详细信息

    • names

      protected String [] names
      要从 getFormatNames 返回的字符串数组,最初是 null 。构造函数应将其设置为非 null 值。
    • suffixes

      protected String [] suffixes
      要从 getFileSuffixes 返回的字符串数组,最初是 null
    • MIMETypes

      protected String [] MIMETypes
      要从 getMIMETypes 返回的字符串数组,最初是 null
    • pluginClassName

      protected String  pluginClassName
      一个 String 包含关联插件类的名称,最初是 null
    • supportsStandardStreamMetadataFormat

      protected boolean supportsStandardStreamMetadataFormat
      一个boolean,指示此插件是否支持流元数据的标准元数据格式,最初为 false
    • nativeStreamMetadataFormatName

      protected String  nativeStreamMetadataFormatName
      一个 String 包含此插件支持的本机流元数据格式的名称,最初为 null
    • nativeStreamMetadataFormatClassName

      protected String  nativeStreamMetadataFormatClassName
      一个 String 包含此插件支持的本机流元数据格式的类名,最初是 null
    • extraStreamMetadataFormatNames

      protected String [] extraStreamMetadataFormatNames
      String 数组,包含此插件支持的任何其他流元数据格式的名称,最初为 null
    • extraStreamMetadataFormatClassNames

      protected String [] extraStreamMetadataFormatClassNames
      String 的数组,包含此插件支持的任何其他流元数据格式的类名,最初为 null
    • supportsStandardImageMetadataFormat

      protected boolean supportsStandardImageMetadataFormat
      一个boolean,指示此插件是否支持图像元数据的标准元数据格式,最初为 false
    • nativeImageMetadataFormatName

      protected String  nativeImageMetadataFormatName
      一个 String 包含此插件支持的本机流元数据格式的名称,最初为 null
    • nativeImageMetadataFormatClassName

      protected String  nativeImageMetadataFormatClassName
      一个 String 包含此插件支持的本机流元数据格式的类名,最初是 null
    • extraImageMetadataFormatNames

      protected String [] extraImageMetadataFormatNames
      包含此插件支持的任何其他图像元数据格式的名称的 String 数组,最初为 null
    • extraImageMetadataFormatClassNames

      protected String [] extraImageMetadataFormatClassNames
      包含此插件支持的任何其他图像元数据格式的类名的 String 数组,最初为 null
  • 构造方法详细信息

    • ImageReaderWriterSpi

      public ImageReaderWriterSpi(String  vendorName, String  version, String [] names, String [] suffixes, String [] MIMETypes, String  pluginClassName, boolean supportsStandardStreamMetadataFormat, String  nativeStreamMetadataFormatName, String  nativeStreamMetadataFormatClassName, String [] extraStreamMetadataFormatNames, String [] extraStreamMetadataFormatClassNames, boolean supportsStandardImageMetadataFormat, String  nativeImageMetadataFormatName, String  nativeImageMetadataFormatClassName, String [] extraImageMetadataFormatNames, String [] extraImageMetadataFormatClassNames)
      使用给定的一组值构造一个 ImageReaderWriterSpi
      参数:
      vendorName - 供应商名称,作为非 null String
      version - 版本标识符,作为非null String
      names - String 的非null 数组,指示格式名称。必须至少存在一项。
      suffixes - 指示通用文件后缀的 String 数组。如果未定义后缀,则应提供 null。长度为 0 的数组将被规范化为 null
      MIMETypes - 指示格式的 MIME 类型的 String 数组。如果未定义 MIME 类型,则应提供 null。长度为 0 的数组将被规范化为 null
      pluginClassName - 关联的 ImageReaderImageWriter 类的完全限定名称,作为非 null String
      supportsStandardStreamMetadataFormat - 一个 boolean 指示流元数据对象是否可以使用标准元数据格式描述的树。
      nativeStreamMetadataFormatName - 从 getNativeStreamMetadataFormatName 返回的 Stringnull
      nativeStreamMetadataFormatClassName - 一个 Stringnull ,用于实例化要从 getNativeStreamMetadataFormat 返回的元数据格式对象。
      extraStreamMetadataFormatNames - 从 getExtraStreamMetadataFormatNames 返回的 Stringnull 的数组。长度为 0 的数组被标准化为 null
      extraStreamMetadataFormatClassNames - Stringnull 的数组,用于实例化要从 getStreamMetadataFormat 返回的元数据格式对象。长度为 0 的数组被标准化为 null
      supportsStandardImageMetadataFormat - 一个 boolean 指示图像元数据对象是否可以使用标准元数据格式描述的树。
      nativeImageMetadataFormatName - 从 getNativeImageMetadataFormatName 返回的 Stringnull
      nativeImageMetadataFormatClassName - 一个 Stringnull ,用于实例化要从 getNativeImageMetadataFormat 返回的元数据格式对象。
      extraImageMetadataFormatNames - 要从 getExtraImageMetadataFormatNames 返回的 String 数组。长度为 0 的数组被标准化为 null
      extraImageMetadataFormatClassNames - Stringnull 的数组,用于实例化要从 getImageMetadataFormat 返回的元数据格式对象。长度为 0 的数组被标准化为 null
      抛出:
      IllegalArgumentException - 如果 vendorNamenull
      IllegalArgumentException - 如果 versionnull
      IllegalArgumentException - 如果 namesnull 或长度为 0。
      IllegalArgumentException - 如果 pluginClassNamenull
    • ImageReaderWriterSpi

      public ImageReaderWriterSpi()
      构造一个空白 ImageReaderWriterSpi 。由子类初始化实例变量和/或覆盖方法实现,以提供所有方法的工作版本。
  • 方法详情

    • getFormatNames

      public String [] getFormatNames()
      返回一个 String 数组,其中包含与此服务提供商关联的 ImageReaderImageWriter 实现通常可用的格式的人类可读名称。例如,单个 ImageReader 可能能够同时处理 PBM 和 PNM 文件。
      返回:
      String 的非 null 数组或长度至少为 1,包含与此读取器或写入器关联的非正式格式名称。
    • getFileSuffixes

      public String [] getFileSuffixes()
      返回一个 String 数组,其中包含与该服务提供商关联的 ImageReaderImageWriter 实现通常可用的格式关联的文件后缀列表。例如,单个 ImageReader 可能能够处理带有“.pbm”和“.pnm”后缀或同时带有“.jpg”和“.jpeg”后缀的文件。如果没有已知的文件后缀,将返回 null

      返回特定后缀并不能保证可以处理具有该后缀的文件;它仅表示可能值得尝试使用此服务提供者对此类文件进行解码或编码。

      返回:
      String 或长度至少为 1 的数组,包含与此读取器或写入器关联的公共文件后缀,或 null
    • getMIMETypes

      public String [] getMIMETypes()
      返回一个 String 数组,其中包含与格式关联的 MIME 类型列表,这些格式通常可由与此服务提供商关联的 ImageReaderImageWriter 实现使用。

      理想情况下,只需要一个 MIME 类型即可描述特定格式。然而,出于多种原因,有必要将类型列表与每个服务提供者相关联。首先,许多常见的图像文件格式没有标准的 MIME 类型,因此需要一个常用的非官方名称列表,例如 image/x-pbmimage/x-portable-bitmap 。某些文件格式具有官方 MIME 类型,但有时可能会使用它们以前的非官方名称来引用,例如 image/x-png 而不是官方的 image/png 。最后,单个服务提供者可能能够从 MIME 的角度解析多个不同的类型,例如 image/x-xbitmapimage/x-xpixmap

      返回特定的 MIME 类型并不能保证可以处理声称属于该类型的文件;它仅表示可能值得尝试使用此服务提供者对此类文件进行解码或编码。

      返回:
      String 或长度至少为 1 的数组,其中包含与此读取器或写入器关联的 MIME 类型,或 null
    • getPluginClassName

      public String  getPluginClassName()
      返回与此服务提供商关联的 ImageReaderImageWriter 插件的完全限定类名。
      返回:
      类名,作为非null String
    • isStandardStreamMetadataFormatSupported

      public boolean isStandardStreamMetadataFormatSupported()
      如果标准元数据格式属于由此插件生成或使用的流元数据对象的 getAsTreesetFromTree 方法识别的文档格式之一,则返回 true
      返回:
      true 如果流元数据支持标准格式。
    • getNativeStreamMetadataFormatName

      public String  getNativeStreamMetadataFormatName()
      返回此插件的“本地”流元数据格式的名称,这通常允许无损编码和传输以该插件处理的格式存储的流元数据。如果不支持这种格式,将返回null

      默认实现返回 nativeStreamMetadataFormatName 实例变量,通常由构造函数设置。

      返回:
      本机流元数据格式的名称,或 null
    • getExtraStreamMetadataFormatNames

      public String [] getExtraStreamMetadataFormatNames()
      返回一个 String 数组,其中包含附加文档格式的名称,而不是本机格式和标准格式,由此插件生成或使用的流元数据对象上的 getAsTreesetFromTree 方法识别。

      如果插件不处理元数据,则应返回 null。

      格式集可能会根据正在读取或写入的特定图像而有所不同;此方法应指示插件在任何情况下支持的所有附加格式。

      默认实现返回 extraStreamMetadataFormatNames 实例变量的克隆,它通常由构造函数设置。

      返回:
      String 的数组,或 null。
      参见:
    • isStandardImageMetadataFormatSupported

      public boolean isStandardImageMetadataFormatSupported()
      如果标准元数据格式属于由此插件生成或使用的图像元数据对象的 getAsTreesetFromTree 方法识别的文档格式之一,则返回 true
      返回:
      true 图像元数据是否支持标准格式。
    • getNativeImageMetadataFormatName

      public String  getNativeImageMetadataFormatName()
      返回此插件的“本机”图像元数据格式的名称,这通常允许无损编码和传输以此插件处理的格式存储的图像元数据。如果不支持这种格式,将返回null

      默认实现返回 nativeImageMetadataFormatName 实例变量,通常由构造函数设置。

      返回:
      本机图像元数据格式的名称,或 null
      参见:
    • getExtraImageMetadataFormatNames

      public String [] getExtraImageMetadataFormatNames()
      返回一个 String 数组,其中包含除本机格式和标准格式之外的其他文档格式的名称,由此插件生成或使用的图像元数据对象的 getAsTreesetFromTree 方法识别。

      如果插件不处理图像元数据,则应返回 null。

      格式集可能会根据正在读取或写入的特定图像而有所不同;此方法应指示插件在任何情况下支持的所有附加格式。

      默认实现返回 extraImageMetadataFormatNames 实例变量的克隆,它通常由构造函数设置。

      返回:
      String 的数组,或 null。
      参见:
    • getStreamMetadataFormat

      public IIOMetadataFormat  getStreamMetadataFormat(String  formatName)
      返回描述给定流元数据格式的 IIOMetadataFormat 对象,如果没有可用描述,则返回 null。提供的名称必须是本机流元数据格式名称、标准元数据格式名称或 getExtraStreamMetadataFormatNames 返回的名称之一。
      参数:
      formatName - 所需的流元数据格式。
      返回:
      一个 IIOMetadataFormat 对象。
      抛出:
      IllegalArgumentException - 如果 formatNamenull 或者不是受支持的名称。
    • getImageMetadataFormat

      public IIOMetadataFormat  getImageMetadataFormat(String  formatName)
      返回描述给定图像元数据格式的 IIOMetadataFormat 对象,如果没有可用描述,则返回 null。提供的名称必须是本机图像元数据格式名称、标准元数据格式名称或 getExtraImageMetadataFormatNames 返回的名称之一。
      参数:
      formatName - 所需的图像元数据格式。
      返回:
      一个 IIOMetadataFormat 对象。
      抛出:
      IllegalArgumentException - 如果 formatNamenull 或者不是受支持的名称。