public final class ImageIO extends Object
ImageReader
s和
ImageWriter
s,并进行简单的编码和解码。
Modifier and Type | Method and Description |
---|---|
static ImageInputStream |
createImageInputStream(Object input)
返回一个
ImageInputStream 将从给定的输入
Object 。
|
static ImageOutputStream |
createImageOutputStream(Object output)
返回一个
ImageOutputStream ,将其输出到了
Object 。
|
static File |
getCacheDirectory()
返回由
setCacheDirectory 的当前值,或
null 如果没有显式设置了。
|
static ImageReader |
getImageReader(ImageWriter writer)
返回一个
ImageReader corresponding到给定的
ImageWriter ,如果有一个,或
null 如果插件,这
ImageWriter 不指定相应的
ImageReader ,或者给
ImageWriter 没有注册。
|
static Iterator<ImageReader> |
getImageReaders(Object input)
返回一个包含所有当前注册
ImageReader s
Iterator 声称能提供
Object 解码,通常
ImageInputStream 。
|
static Iterator<ImageReader> |
getImageReadersByFormatName(String formatName)
返回一个包含所有当前注册
Iterator
ImageReader s声称能够解码的命名格式。
|
static Iterator<ImageReader> |
getImageReadersByMIMEType(String MIMEType)
返回一个包含所有当前注册
Iterator
ImageReader s声称能够解码文件与给定的MIME类型。
|
static Iterator<ImageReader> |
getImageReadersBySuffix(String fileSuffix)
返回一个包含所有当前注册
Iterator
ImageReader s声称能够解码文件的后缀。
|
static Iterator<ImageTranscoder> |
getImageTranscoders(ImageReader reader, ImageWriter writer)
返回一个包含所有当前注册
ImageTranscoder s
Iterator 声称能将给定的
ImageReader 和
ImageWriter 元数据之间。
|
static ImageWriter |
getImageWriter(ImageReader reader)
返回一个
ImageWriter corresponding到给定的
ImageReader ,如果有一个,或
null 如果插件,这
ImageReader 不指定相应的
ImageWriter ,或者给
ImageReader 没有注册。
|
static Iterator<ImageWriter> |
getImageWriters(ImageTypeSpecifier type, String formatName)
返回一个包含所有当前注册
Iterator
ImageWriter s声称能够编码的图像(使用一个给定的布局
ImageTypeSpecifier 指定)在给定的格式。
|
static Iterator<ImageWriter> |
getImageWritersByFormatName(String formatName)
返回一个包含所有当前注册
Iterator
ImageWriter s声称能够编码的命名格式。
|
static Iterator<ImageWriter> |
getImageWritersByMIMEType(String MIMEType)
返回一个包含所有当前注册
ImageWriter s
Iterator 声称能与给定的MIME类型文件的编码。
|
static Iterator<ImageWriter> |
getImageWritersBySuffix(String fileSuffix)
返回一个包含所有当前注册
ImageWriter s
Iterator 声称能与给定的后缀文件编码。
|
static String[] |
getReaderFileSuffixes()
返回
String s列出所有与格式的当前注册读者理解相关的文件后缀数组。
|
static String[] |
getReaderFormatNames()
返回
String s列出所有的非正式格式名称注册读者理解数组的当前设置。
|
static String[] |
getReaderMIMETypes()
返回
String s列出所有的MIME类型注册读者了解当前设置的数组。
|
static boolean |
getUseCache()
返回由
setUseCache 的当前值,或
true 如果没有显式设置了。
|
static String[] |
getWriterFileSuffixes()
返回
String s列出所有的格式由注册作家当前理解的关联文件后缀数组。
|
static String[] |
getWriterFormatNames()
返回
String s列出所有的非正式格式名称注册作家当前理解数组。
|
static String[] |
getWriterMIMETypes()
返回
String s列出所有的MIME类型注册作家当前理解数组。
|
static BufferedImage |
read(File input)
返回一个
BufferedImage 作为一个
ImageReader 自动选择从当前注册提供
File 解码结果。
|
static BufferedImage |
read(ImageInputStream stream)
返回一个
BufferedImage 作为一个
ImageReader 自动选择从当前注册提供
ImageInputStream 解码结果。
|
static BufferedImage |
read(InputStream input)
返回一个
BufferedImage 作为一个
ImageReader 自动选择从当前注册提供
InputStream 解码结果。
|
static BufferedImage |
read(URL input)
返回一个
BufferedImage 作为一个
ImageReader 自动选择从当前注册提供
URL 解码结果。
|
static void |
scanForPlugins()
在应用程序的类路径加载插件扫描,服务提供程序类,并注册一个服务提供商,例如每一个发现与
IIORegistry 。
|
static void |
setCacheDirectory(File cacheDirectory)
设置要创建缓存文件的目录。
|
static void |
setUseCache(boolean useCache)
设置一个指示是否基于磁盘的缓存文件应该创造
ImageInputStream s和
ImageOutputStream s时使用的国旗。
|
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 。
|
public static void scanForPlugins()
IIORegistry
。
这种方法是必要的,因为应用程序类路径可以从理论上改变,或额外的插件可能成为可用的。而不是重新扫描路径上的每个调用API,类路径的自动只在第一次调用扫描。客户端可以调用此方法来提示重新扫描。因此,这种方法只需要被调用的复杂的应用程序,动态地使新的插件在运行时。
语境的ClassLoader
的getResources
方法找到包含文件名META-INF/services/javax.imageio.spi.
类的名称JAR文件,其中类的名称是ImageReaderSpi
,ImageWriterSpi
,ImageTranscoderSpi
,ImageInputStreamSpi
,或ImageOutputStreamSpi
,沿着应用程序类路径。
这个位于文件的内容显示实际的实现类实现上述服务提供者接口的名称;默认的类加载器来加载这些类和实例化的类的一个实例,然后供以后检索放进注册表。
位置的精确寻找取决于java运行时环境的实现。
public static void setUseCache(boolean useCache)
ImageInputStream
s和
ImageOutputStream
s时使用的旗帜。
阅读时从一个标准的InputStream
,可能需要保存在缓存中读取信息之前从底层流不允许数据被重新阅读。同样,写入标准OutputStream
时,高速缓存可用于允许以前写的价值是前冲到最终目的地的改变。
该缓存可以驻留在主内存或磁盘上。设置此标志false
不允许未来的流盘的使用,这可能是有利的使用小图片时,为创建和销毁文件的开销去掉。
在启动时,该值设置为true
。
useCache
-
boolean
指示缓存文件应该被使用,在情况下,它是可选的。
getUseCache()
public static boolean getUseCache()
setUseCache
的当前值,或
true
如果没有显式设置了。
ImageInputStream
s和
ImageOutputStream
s。
setUseCache(boolean)
public static void setCacheDirectory(File cacheDirectory)
null
表明依赖于系统默认的临时文件目录是用来。如果
getUseCache
返回false,该值被忽略。
cacheDirectory
-
File
指定目录。
SecurityException
-如果安全经理拒绝访问的目录。
IllegalArgumentException
-如果
cacheDir
是非
null
但不是目录。
File.createTempFile(String, String, File)
,
getCacheDirectory()
public static File getCacheDirectory()
setCacheDirectory
的当前值,或
null
如果没有显式设置了。
File
指示目录缓存文件将被创建,或
null
表明依赖于系统默认的临时文件目录。
setCacheDirectory(java.io.File)
public static ImageInputStream createImageInputStream(Object input) throws IOException
ImageInputStream
将从给定的输入
Object
。与
IIORegistry
级注册
ImageInputStreamSpi
s集查询和第一个能够从提供的对象采取输入用于创建返回的
ImageInputStream
。如果没有合适的
ImageInputStreamSpi
存在,
null
返回。
从getUseCache
and getCacheDirectory
当前缓存设置将用于控制缓存。
input
-
Object
作为输入源,如
File
,可读
RandomAccessFile
,或
InputStream
。
ImageInputStream
,或
null
。
null
input
IllegalArgumentException
。
IOException
-如果一个缓存文件是需要的但不能被创造。
ImageInputStreamSpi
public static ImageOutputStream createImageOutputStream(Object output) throws IOException
ImageOutputStream
,将其输出到了
Object
。与
IIORegistry
级注册
ImageOutputStreamSpi
s集查询和第一个能够从提供的对象发送输出用于创建返回的
ImageOutputStream
。如果没有合适的
ImageOutputStreamSpi
存在,
null
返回。
从getUseCache
and getCacheDirectory
当前缓存设置将用于控制缓存。
output
-
Object
作为输出的目的地,如
File
,写
RandomAccessFile
,或
OutputStream
。
ImageOutputStream
,或
null
。
null
output
IllegalArgumentException
。
IOException
-如果一个缓存文件是需要的但不能被创造。
ImageOutputStreamSpi
public static String[] getReaderFormatNames()
String
s列出所有的非正式格式名称注册读者理解数组的当前设置。
String
s数组。
public static String[] getReaderMIMETypes()
String
s列出所有的MIME类型注册读者了解当前设置的数组。
String
s数组。
public static String[] getReaderFileSuffixes()
String
s列出所有与格式的当前注册读者理解相关的文件后缀数组。
String
s数组。
public static Iterator<ImageReader> getImageReaders(Object input)
ImageReader
s
Iterator
声称能提供
Object
解码,通常
ImageInputStream
。
该流位置在退出该方法时在其退出时的位置。
input
-
ImageInputStream
或其他
Object
含有编码图像数据。
Iterator
含
ImageReader
s。
null
input
IllegalArgumentException
。
ImageReaderSpi.canDecodeInput(java.lang.Object)
public static Iterator<ImageReader> getImageReadersByFormatName(String formatName)
Iterator
ImageReader
s声称能够解码的命名格式。
formatName
-
String
含有格式的非正式名称(例如,“JPEG”或“TIFF”。
Iterator
含
ImageReader
s。
null
formatName
IllegalArgumentException
。
ImageReaderWriterSpi.getFormatNames()
public static Iterator<ImageReader> getImageReadersBySuffix(String fileSuffix)
Iterator
ImageReader
s声称能够解码文件的后缀。
fileSuffix
-
String
包含文件的后缀(例如,“JPG”或“格式”)。
Iterator
含
ImageReader
s。
null
fileSuffix
IllegalArgumentException
。
ImageReaderWriterSpi.getFileSuffixes()
public static Iterator<ImageReader> getImageReadersByMIMEType(String MIMEType)
Iterator
ImageReader
s声称能够解码文件与给定的MIME类型。
MIMEType
-
String
包含文件的后缀(例如,“image/jpeg”或“图像/ x-bmp”)。
Iterator
含
ImageReader
s。
null
MIMEType
IllegalArgumentException
。
ImageReaderWriterSpi.getMIMETypes()
public static String[] getWriterFormatNames()
String
s列出所有的非正式格式名称注册作家当前理解数组。
String
s数组。
public static String[] getWriterMIMETypes()
String
s列出所有的MIME类型注册作家当前理解数组。
String
s数组。
public static String[] getWriterFileSuffixes()
String
s列出所有的格式由注册作家当前理解的关联文件后缀数组。
String
s数组。
public static Iterator<ImageWriter> getImageWritersByFormatName(String formatName)
Iterator
ImageWriter
s声称能够编码的命名格式。
formatName
-
String
含有格式的非正式名称(例如,“JPEG”或“TIFF”。
Iterator
含
ImageWriter
s。
null
formatName
IllegalArgumentException
。
ImageReaderWriterSpi.getFormatNames()
public static Iterator<ImageWriter> getImageWritersBySuffix(String fileSuffix)
ImageWriter
s
Iterator
声称能与给定的后缀文件编码。
fileSuffix
-
String
包含文件的后缀(例如,“JPG”或“格式”)。
Iterator
含
ImageWriter
s。
null
fileSuffix
IllegalArgumentException
。
ImageReaderWriterSpi.getFileSuffixes()
public static Iterator<ImageWriter> getImageWritersByMIMEType(String MIMEType)
ImageWriter
s
Iterator
声称能与给定的MIME类型文件的编码。
MIMEType
-
String
包含文件的后缀(例如,“image/jpeg”或“图像/ x-bmp”)。
Iterator
含
ImageWriter
s。
null
MIMEType
IllegalArgumentException
。
ImageReaderWriterSpi.getMIMETypes()
public static ImageWriter getImageWriter(ImageReader reader)
ImageWriter
corresponding到给定的
ImageReader
,如果有一个,或
null
如果插件,这
ImageReader
不指定相应的
ImageWriter
,或者给
ImageReader
没有注册。这种机制可以用来获得一个
ImageWriter
会理解非像素元数据的内部结构(由
IIOMetadata
对象编码)的
ImageReader
产生。从
ImageReader
获取数据并将其传递给此方法得到的
ImageWriter
,客户端程序可以读取图像,修改它,以某种方式,把它写出来保留所有的元数据,而无需了解数据结构的东西,甚至是关于图像格式。请注意,此方法返回的“首选”的作家,这是列表中的第一个返回
javax.imageio.spi.ImageReaderSpi.getImageWriterSpiNames()
。
reader
-注册
ImageReader
实例。
ImageWriter
,或空。
null
reader
IllegalArgumentException
。
getImageReader(ImageWriter)
,
ImageReaderSpi.getImageWriterSpiNames()
public static ImageReader getImageReader(ImageWriter writer)
ImageReader
corresponding到给定的
ImageWriter
,如果有一个,或
null
如果插件,这
ImageWriter
不指定相应的
ImageReader
,或者给
ImageWriter
没有注册。这种方法主要用于对称与
getImageWriter(ImageReader)
。请注意,此方法返回的“首选”的读者,这是列表中的第一个返回javax.imageio.spi.imagewriterspi。
getImageReaderSpiNames()
。
writer
-注册
ImageWriter
实例。
ImageReader
,或空。
null
writer
IllegalArgumentException
。
getImageWriter(ImageReader)
,
ImageWriterSpi.getImageReaderSpiNames()
public static Iterator<ImageWriter> getImageWriters(ImageTypeSpecifier type, String formatName)
Iterator
ImageWriter
s声称能够编码的图像(使用一个给定的布局
ImageTypeSpecifier
指定)在给定的格式。
type
-
ImageTypeSpecifier
表示图像的可写的布局。
formatName
的
format
非正式名称。
Iterator
含
ImageWriter
s。
IllegalArgumentException
-如果任何参数
null
。
ImageWriterSpi.canEncodeImage(ImageTypeSpecifier)
public static Iterator<ImageTranscoder> getImageTranscoders(ImageReader reader, ImageWriter writer)
ImageTranscoder
s
Iterator
声称能将给定的
ImageReader
和
ImageWriter
元数据之间。
reader
-
ImageReader
。
writer
-
ImageWriter
。
Iterator
含
ImageTranscoder
s。
IllegalArgumentException
-如果
reader
或
writer
是
null
。
public static BufferedImage read(File input) throws IOException
BufferedImage
作为一个
ImageReader
自动选择从当前注册提供
File
解码结果。的
File
包装在一个
ImageInputStream
。如果没有注册
ImageReader
声称能够阅读产生的流,
null
返回。
从getUseCache
and getCacheDirectory
当前缓存设置将被用来控制在ImageInputStream
所创建的缓存。
请注意,没有read
方法使用文件名作为String
;而用这种方法创建的文件名后File
。
这种方法并不试图找到ImageReader
s能从File
直接读取;可使用IIORegistry
和ImageReaderSpi
完成。
input
-
File
读。
BufferedImage
包含解码的内容的输入,或
null
。
null
input
IllegalArgumentException
。
IOException
-如果在阅读过程中出现错误。
public static BufferedImage read(InputStream input) throws IOException
BufferedImage
作为一个
ImageReader
自动选择从当前注册提供
InputStream
解码结果。的
InputStream
包装在一个
ImageInputStream
。如果没有注册
ImageReader
声称能够阅读产生的流,
null
返回。
从getUseCache
and getCacheDirectory
当前缓存设置将被用来控制在ImageInputStream
所创建的缓存。
这种方法并不试图找到ImageReader
s可以从InputStream
直接读取;可使用IIORegistry
和ImageReaderSpi
完成。
此方法不在读操作完成后关闭设置InputStream
;它是调用者的责任,关闭流,如果需要的话。
input
-
InputStream
读。
BufferedImage
包含解码的内容的输入,或
null
。
null
input
IllegalArgumentException
。
IOException
-如果在阅读过程中出现错误。
public static BufferedImage read(URL input) throws IOException
BufferedImage
作为一个
ImageReader
自动选择从当前注册提供
URL
解码结果。一个
InputStream
从
URL
获得,这是包裹在一个
ImageInputStream
。如果没有注册
ImageReader
声称能够阅读产生的流,
null
返回。
从getUseCache
and getCacheDirectory
当前缓存设置将被用来控制在ImageInputStream
所创建的缓存。
这种方法并不试图找到ImageReader
s能从URL
直接读取;可使用IIORegistry
和ImageReaderSpi
完成。
input
-
URL
读。
BufferedImage
包含解码的内容的输入,或
null
。
null
input
IllegalArgumentException
。
IOException
-如果在阅读过程中出现错误。
public static BufferedImage read(ImageInputStream stream) throws IOException
BufferedImage
作为一个
ImageReader
自动选择从当前注册提供
ImageInputStream
解码结果。如果没有注册
ImageReader
声称能够读取流,
null
返回。
不像这个班的大多数其他的方法,这个方法并关闭提供ImageInputStream
后读操作已经完成,除非null
返回,在这种情况下,此方法不关闭流。
stream
-
ImageInputStream
读。
BufferedImage
包含解码的内容的输入,或
null
。
null
stream
IllegalArgumentException
。
IOException
-如果在阅读过程中出现错误。
public static boolean write(RenderedImage im, String formatName, ImageOutputStream output) throws IOException
ImageWriter
支持给格式的
ImageOutputStream
。图像写入
ImageOutputStream
从当前流中的指针,覆盖现有的数据流,从这一点向前,如果存在。
此方法不在写操作完成后关闭设置ImageOutputStream
;它是调用者的责任,关闭流,如果需要的话。
im
-
RenderedImage
要写。
formatName
-
String
含有格式的非正式名称。
output
-
ImageOutputStream
被写。
false
。
IllegalArgumentException
-如果任何参数
null
。
IOException
-如果在写作过程中发生了一个错误。
public static boolean write(RenderedImage im, String formatName, File output) throws IOException
ImageWriter
支持特定格式的一
File
。如果已经有一个
File
存在,其内容被丢弃。
im
-
RenderedImage
要写。
formatName
-
String
含有格式的非正式名称。
output
-
File
被写。
false
。
IllegalArgumentException
-如果任何参数
null
。
IOException
-如果在写作过程中发生了一个错误。
public static boolean write(RenderedImage im, String formatName, OutputStream output) throws IOException
ImageWriter
支持给格式的
OutputStream
此方法不在写操作完成后关闭设置OutputStream
;它是调用者的责任,关闭流,如果需要的话。
从getUseCache
and getCacheDirectory
当前缓存设置将用于控制缓存。
im
-
RenderedImage
要写。
formatName
-
String
含有格式的非正式名称。
output
-
OutputStream
被写。
false
。
IllegalArgumentException
-如果任何参数
null
。
IOException
-如果在写作过程中发生了一个错误。
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.