|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
javax.imageio
类 ImageIO
java.lang.Object javax.imageio.ImageIO
-
public final class ImageIO
- extends Object
该类包含一些用来查找 ImageReader
和 ImageWriter
以及执行简单编码和解码的静态便捷方法。
方法摘要 | |
---|---|
static ImageInputStream |
createImageInputStream(Object input) 返回一个 ImageInputStream ,它将从给定 Object 中获取输入。 |
static ImageOutputStream |
createImageOutputStream(Object output) 返回一个 ImageOutputStream ,它将其输出发送到给定 Object 。 |
static File |
getCacheDirectory() 返回由 setCacheDirectory 设置的当前值,如果没有显式设置该值,则返回 null 。 |
static ImageReader |
getImageReader(ImageWriter writer) 返回对应于给定 ImageWriter 的 ImageReader (如果有);如果此 ImageWriter 的插件没有指定相应的 ImageReader ,或者给定 ImageWriter 没有注册,则返回 null 。 |
static Iterator<ImageReader> |
getImageReaders(Object input) 返回包含所有当前已注册 ImageReader 的 Iterator ,这些 ImageReader 声称能够解码所提供的 Object ,返回值通常是一个 ImageInputStream 。 |
static Iterator<ImageReader> |
getImageReadersByFormatName(String formatName) 返回包含所有当前已注册 ImageReader 的 Iterator ,这些 ImageReader 声称能够解码指定格式。 |
static Iterator<ImageReader> |
getImageReadersByMIMEType(String MIMEType) 返回包含所有当前已注册 ImageReader 的 Iterator ,这些 ImageReader 声称能够解码具有给定 MIME 类型的文件。 |
static Iterator<ImageReader> |
getImageReadersBySuffix(String fileSuffix) 返回包含所有当前已注册 ImageReader 的 Iterator ,这些 ImageReader 声称能够解码具有给定后缀的文件。 |
static Iterator<ImageTranscoder> |
getImageTranscoders(ImageReader reader, ImageWriter writer) 返回包含所有当前已注册 ImageTranscoder 的 Iterator ,这些 ImageTranscoder 声称能够在给定 ImageReader 和 ImageWriter 的元数据之间进行代码转换。 |
static ImageWriter |
getImageWriter(ImageReader reader) 返回对应于给定 ImageReader 的 ImageWriter (如果有);如果此 ImageReader 的插件没有指定相应的 ImageWriter ,或者给定的 ImageReader 没有注册,则返回 null 。 |
static Iterator<ImageWriter> |
getImageWriters(ImageTypeSpecifier type, String formatName) 返回包含所有当前已注册 ImageWriter 的 Iterator ,这些 ImageWriter 声称能够使用给定格式对具有给定布局的图像(使用 ImageTypeSpecifier 指定)进行编码。 |
static Iterator<ImageWriter> |
getImageWritersByFormatName(String formatName) 返回包含所有当前已注册 ImageWriter 的 Iterator ,这些 ImageReader 声称能够对指定格式进行编码。 |
static Iterator<ImageWriter> |
getImageWritersByMIMEType(String MIMEType) 返回包含所有当前已注册 ImageWriter 的 Iterator ,这些 ImageReader 声称能够对具有给定 MIME 类型的文件进行编码。 |
static Iterator<ImageWriter> |
getImageWritersBySuffix(String fileSuffix) 返回包含所有当前已注册 ImageWriter 的 Iterator ,这些 ImageReader 声称能够对具有给定后缀的文件进行编码。 |
static String[] |
getReaderFormatNames() 返回列出被当前已注册 reader 的集合所理解的所有非正式格式名称的 String 数组。 |
static String[] |
getReaderMIMETypes() 返回列出被当前已注册 reader 集合所理解的所有 MIME 类型的 String 数组。 |
static boolean |
getUseCache() 返回由 setUseCache 设置的当前值,如果没有显式设置该值,则返回 true 。 |
static String[] |
getWriterFormatNames() 返回列出被当前已注册 writer 集合所理解的所有非正式格式名称的 String 数组。 |
static String[] |
getWriterMIMETypes() 返回列出被当前已注册 writer 集合所理解的所有 MIME 类型的 String 数组。 |
static BufferedImage |
read(File input) 返回一个 BufferedImage ,作为使用从当前已注册 ImageReader 中自动选择的 ImageReader 解码所提供 File 的结果。 |
static BufferedImage |
read(ImageInputStream stream) 返回一个 BufferedImage ,作为使用从当前已注册 ImageReader 中自动选择的 ImageReader 解码所提供 ImageInputStream 的结果。 |
static BufferedImage |
read(InputStream input) 返回一个 BufferedImage ,作为使用从当前已注册 ImageReader 中自动选择的 ImageReader 解码所提供 InputStream 的结果。 |
static BufferedImage |
read(URL input) 返回一个 BufferedImage ,作为使用从当前已注册 ImageReader 中自动选择的 ImageReader 解码所提供 URL 的结果。 |
static void |
scanForPlugins() 扫描应用程序类路径上的插件,加载其服务提供程序类,并为使用 IIORegistry 找到的每个插件提供一个服务提供程序实例。 |
static void |
setCacheDirectory(File cacheDirectory) 设置将在其中创建缓存文件的目录。 |
static void |
setUseCache(boolean useCache) 设置一个标记,指示在创建 ImageInputStream 和 ImageOutputStream 时是否应该使用基于磁盘的缓存文件。 |
static boolean |
write(RenderedImage im, String formatName, File output) 使用支持给定格式的任意 ImageWriter 将一个图像写入 File 。 |
static boolean |
write(RenderedImage im, String formatName, ImageOutputStream output) 使用支持给定格式的任意 ImageWriter 将一个图像写入 ImageOutputStream 。 |
static boolean |
write(RenderedImage im, String formatName, OutputStream output) 使用支持给定格式的任意 ImageWriter 将一个图像写入 OutputStream 。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
方法详细信息 |
---|
scanForPlugins
public static void scanForPlugins()
-
扫描应用程序类路径上的插件,加载其服务提供程序类,并为使用
IIORegistry
找到的每个插件提供一个服务提供程序实例。需要此方法是因为应用程序类路径在理论上是可以更改的,或者说额外的插件可以变得可用。可以只在第一次调用时自动扫描类路径,而不是每次调用 API 时都再次扫描类路径。客户端可以调用此方法来提示再次扫描。因此,只有在运行时使新插件动态可用的复杂应用程序才需要调用此方法。
上下文
ClassLoader
的getResources
方法被用来沿应用程序类路径查找包含名为META-INF/services/javax.imageio.spi.
classname 的文件的 JAR 文件,其中 classname 是ImageReaderSpi
、ImageWriterSpi
、ImageTranscoderSpi
、ImageInputStreamSpi
或ImageOutputStreamSpi
之一。所查找文件的内容可以指示实际实现类的名称,这些类实现上文提到的服务提供程序接口;然后可以使用默认类加载器加载每个类并实例化每个类的实例,然后将其放入注册表中,以便以后检索。
具体的被搜索位置集合取决于 Java 运行时环境的实现。
setUseCache
public static void setUseCache(boolean useCache)
-
设置一个标记,指示在创建
ImageInputStream
和ImageOutputStream
时是否应该使用基于磁盘的缓存文件。在从标准
InputStream
中读取数据时,有必要在缓存中保存以前读取的信息,因为基础流不允许重新读取数据。类似地,在将数据写入标准OutputStream
时,可以使用某一缓存来允许以前写入的值在被刷新并转到最终目标前可以被更改。该缓存可以驻留在主存中或磁盘上。如果将此标记设置为
false
,则不允许将磁盘用于将来的流,这在使用小图像时有利,因为可以免除创建和销毁文件带来的开销。在启动时,该值被设置为
true
。 -
- 参数:
-
useCache
- 在可选的情况下指示是否应使用缓存文件的boolean
。 - 另请参见:
-
getUseCache()
getUseCache
public static boolean getUseCache()
-
返回由
setUseCache
设置的当前值,如果没有显式设置该值,则返回true
。 -
- 返回:
-
如果可以将基于磁盘的缓存用于
ImageInputStream
和ImageOutputStream
,则返回 true。 - 另请参见:
-
setUseCache(boolean)
setCacheDirectory
public static void setCacheDirectory(File cacheDirectory)
-
设置将在其中创建缓存文件的目录。值为
null
指示将使用与系统有关的默认临时文件目录。如果getUseCache
返回 false,则忽略此值。 -
- 参数:
-
cacheDirectory
- 指定目录的File
。 - 抛出:
-
SecurityException
- 如果安全管理器拒绝对该目录的访问。 -
IllegalArgumentException
- 如果cacheDir
为非null
但它不是一个目录。 - 另请参见:
-
File.createTempFile(String, String, File)
,getCacheDirectory()
getCacheDirectory
public static File getCacheDirectory()
-
返回由
setCacheDirectory
设置的当前值,如果没有显式设置该值,则返回null
。 -
- 返回:
-
一个
File
,指示将在其中创建缓存文件的目录;null
指示与系统有关的默认临时文件目录。 - 另请参见:
-
setCacheDirectory(java.io.File)
createImageInputStream
public static ImageInputStream createImageInputStream(Object input) throws IOException
-
返回一个
ImageInputStream
,它将从给定Object
中获取输入。查询IIORegistry
中注册的ImageInputStreamSpi
的集合,能够从提供对象中获取输入的第一个 ImageInputStreamSpi 被用来创建返回的ImageInputStream
。如果没有合适的ImageInputStreamSpi
存在,则返回null
。来自
getUseCache
和getCacheDirectory
的当前缓存设置将被用来控制缓存。 -
- 参数:
-
input
- 用作输入源(比如File
、可读取的RandomAccessFile
或InputStream
)的Object
。 - 返回:
-
一个
ImageInputStream
或null
。 - 抛出:
-
IllegalArgumentException
- 如果input
为null
。 -
IOException
- 如果需要缓存文件但无法创建。 - 另请参见:
-
ImageInputStreamSpi
createImageOutputStream
public static ImageOutputStream createImageOutputStream(Object output) throws IOException
-
返回一个
ImageOutputStream
,它将其输出发送到给定Object
。查询IIORegistry
中注册的ImageOutputStreamSpi
的集合,能够从所提供对象发送输出的第一个 ImageOutputStreamSpi 被用来创建返回的ImageOutputStream
。如果没有合适的ImageOutputStreamSpi
存在,则返回null
。来自
getUseCache
和getCacheDirectory
的当前缓存设置将被用来控制缓存。 -
- 参数:
-
output
- 用作输出目标(比如File
、可写入的RandomAccessFile
或OutputStream
)的Object
。 - 返回:
-
一个
ImageOutputStream
或null
。 - 抛出:
-
IllegalArgumentException
- 如果output
为null
。 -
IOException
- 如果需要缓存文件但无法创建。 - 另请参见:
-
ImageOutputStreamSpi