public final class ImageIO extends Object
ImageReaders和
ImageWriters,并进行简单的编码和解码。
| 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)
返回一个
ImageReadercorresponding到给定的
ImageWriter,如果有一个,或
null如果插件,这
ImageWriter不指定相应的
ImageReader,或者给
ImageWriter没有注册。
|
static Iterator<ImageReader> |
getImageReaders(Object input)
返回一个包含所有当前注册
ImageReaders
Iterator声称能提供
Object解码,通常
ImageInputStream。
|
static Iterator<ImageReader> |
getImageReadersByFormatName(String formatName)
返回一个包含所有当前注册
Iterator
ImageReaders声称能够解码的命名格式。
|
static Iterator<ImageReader> |
getImageReadersByMIMEType(String MIMEType)
返回一个包含所有当前注册
Iterator
ImageReaders声称能够解码文件与给定的MIME类型。
|
static Iterator<ImageReader> |
getImageReadersBySuffix(String fileSuffix)
返回一个包含所有当前注册
Iterator
ImageReaders声称能够解码文件的后缀。
|
static Iterator<ImageTranscoder> |
getImageTranscoders(ImageReader reader, ImageWriter writer)
返回一个包含所有当前注册
ImageTranscoders
Iterator声称能将给定的
ImageReader和
ImageWriter元数据之间。
|
static ImageWriter |
getImageWriter(ImageReader reader)
返回一个
ImageWritercorresponding到给定的
ImageReader,如果有一个,或
null如果插件,这
ImageReader不指定相应的
ImageWriter,或者给
ImageReader没有注册。
|
static Iterator<ImageWriter> |
getImageWriters(ImageTypeSpecifier type, String formatName)
返回一个包含所有当前注册
Iterator
ImageWriters声称能够编码的图像(使用一个给定的布局
ImageTypeSpecifier指定)在给定的格式。
|
static Iterator<ImageWriter> |
getImageWritersByFormatName(String formatName)
返回一个包含所有当前注册
Iterator
ImageWriters声称能够编码的命名格式。
|
static Iterator<ImageWriter> |
getImageWritersByMIMEType(String MIMEType)
返回一个包含所有当前注册
ImageWriters
Iterator声称能与给定的MIME类型文件的编码。
|
static Iterator<ImageWriter> |
getImageWritersBySuffix(String fileSuffix)
返回一个包含所有当前注册
ImageWriters
Iterator声称能与给定的后缀文件编码。
|
static String[] |
getReaderFileSuffixes()
返回
Strings列出所有与格式的当前注册读者理解相关的文件后缀数组。
|
static String[] |
getReaderFormatNames()
返回
Strings列出所有的非正式格式名称注册读者理解数组的当前设置。
|
static String[] |
getReaderMIMETypes()
返回
Strings列出所有的MIME类型注册读者了解当前设置的数组。
|
static boolean |
getUseCache()
返回由
setUseCache的当前值,或
true如果没有显式设置了。
|
static String[] |
getWriterFileSuffixes()
返回
Strings列出所有的格式由注册作家当前理解的关联文件后缀数组。
|
static String[] |
getWriterFormatNames()
返回
Strings列出所有的非正式格式名称注册作家当前理解数组。
|
static String[] |
getWriterMIMETypes()
返回
Strings列出所有的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)
设置一个指示是否基于磁盘的缓存文件应该创造
ImageInputStreams和
ImageOutputStreams时使用的国旗。
|
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)
ImageInputStreams和
ImageOutputStreams时使用的旗帜。
阅读时从一个标准的InputStream,可能需要保存在缓存中读取信息之前从底层流不允许数据被重新阅读。同样,写入标准OutputStream时,高速缓存可用于允许以前写的价值是前冲到最终目的地的改变。
该缓存可以驻留在主内存或磁盘上。设置此标志false不允许未来的流盘的使用,这可能是有利的使用小图片时,为创建和销毁文件的开销去掉。
在启动时,该值设置为true。
useCache -
boolean指示缓存文件应该被使用,在情况下,它是可选的。
getUseCache()
public static boolean getUseCache()
setUseCache的当前值,或
true如果没有显式设置了。
ImageInputStreams和
ImageOutputStreams。
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级注册
ImageInputStreamSpis集查询和第一个能够从提供的对象采取输入用于创建返回的
ImageInputStream。如果没有合适的
ImageInputStreamSpi存在,
null返回。
从getUseCacheand getCacheDirectory当前缓存设置将用于控制缓存。
input -
Object作为输入源,如
File,可读
RandomAccessFile,或
InputStream。
ImageInputStream,或
null。
null
input
IllegalArgumentException。
IOException -如果一个缓存文件是需要的但不能被创造。
ImageInputStreamSpi
public static ImageOutputStream createImageOutputStream(Object output) throws IOException
ImageOutputStream,将其输出到了
Object。与
IIORegistry级注册
ImageOutputStreamSpis集查询和第一个能够从提供的对象发送输出用于创建返回的
ImageOutputStream。如果没有合适的
ImageOutputStreamSpi存在,
null返回。
从getUseCacheand getCacheDirectory当前缓存设置将用于控制缓存。
output -
Object作为输出的目的地,如
File,写
RandomAccessFile,或
OutputStream。
ImageOutputStream,或
null。
null
output
IllegalArgumentException。
IOException -如果一个缓存文件是需要的但不能被创造。
ImageOutputStreamSpi
public static String[] getReaderFormatNames()
Strings列出所有的非正式格式名称注册读者理解数组的当前设置。
Strings数组。
public static String[] getReaderMIMETypes()
Strings列出所有的MIME类型注册读者了解当前设置的数组。
Strings数组。
public static String[] getReaderFileSuffixes()
Strings列出所有与格式的当前注册读者理解相关的文件后缀数组。
Strings数组。
public static Iterator<ImageReader> getImageReaders(Object input)
ImageReaders
Iterator声称能提供
Object解码,通常
ImageInputStream。
该流位置在退出该方法时在其退出时的位置。
input -
ImageInputStream或其他
Object含有编码图像数据。
Iterator含
ImageReaders。
null
input
IllegalArgumentException。
ImageReaderSpi.canDecodeInput(java.lang.Object)
public static Iterator<ImageReader> getImageReadersByFormatName(String formatName)
Iterator
ImageReaders声称能够解码的命名格式。
formatName -
String含有格式的非正式名称(例如,“JPEG”或“TIFF”。
Iterator含
ImageReaders。
null
formatName
IllegalArgumentException。
ImageReaderWriterSpi.getFormatNames()
public static Iterator<ImageReader> getImageReadersBySuffix(String fileSuffix)
Iterator
ImageReaders声称能够解码文件的后缀。
fileSuffix -
String包含文件的后缀(例如,“JPG”或“格式”)。
Iterator含
ImageReaders。
null
fileSuffix
IllegalArgumentException。
ImageReaderWriterSpi.getFileSuffixes()
public static Iterator<ImageReader> getImageReadersByMIMEType(String MIMEType)
Iterator
ImageReaders声称能够解码文件与给定的MIME类型。
MIMEType -
String包含文件的后缀(例如,“image/jpeg”或“图像/ x-bmp”)。
Iterator含
ImageReaders。
null
MIMEType
IllegalArgumentException。
ImageReaderWriterSpi.getMIMETypes()
public static String[] getWriterFormatNames()
Strings列出所有的非正式格式名称注册作家当前理解数组。
Strings数组。
public static String[] getWriterMIMETypes()
Strings列出所有的MIME类型注册作家当前理解数组。
Strings数组。
public static String[] getWriterFileSuffixes()
Strings列出所有的格式由注册作家当前理解的关联文件后缀数组。
Strings数组。
public static Iterator<ImageWriter> getImageWritersByFormatName(String formatName)
Iterator
ImageWriters声称能够编码的命名格式。
formatName -
String含有格式的非正式名称(例如,“JPEG”或“TIFF”。
Iterator含
ImageWriters。
null
formatName
IllegalArgumentException。
ImageReaderWriterSpi.getFormatNames()
public static Iterator<ImageWriter> getImageWritersBySuffix(String fileSuffix)
ImageWriters
Iterator声称能与给定的后缀文件编码。
fileSuffix -
String包含文件的后缀(例如,“JPG”或“格式”)。
Iterator含
ImageWriters。
null
fileSuffix
IllegalArgumentException。
ImageReaderWriterSpi.getFileSuffixes()
public static Iterator<ImageWriter> getImageWritersByMIMEType(String MIMEType)
ImageWriters
Iterator声称能与给定的MIME类型文件的编码。
MIMEType -
String包含文件的后缀(例如,“image/jpeg”或“图像/ x-bmp”)。
Iterator含
ImageWriters。
null
MIMEType
IllegalArgumentException。
ImageReaderWriterSpi.getMIMETypes()
public static ImageWriter getImageWriter(ImageReader reader)
ImageWritercorresponding到给定的
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)
ImageReadercorresponding到给定的
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
ImageWriters声称能够编码的图像(使用一个给定的布局
ImageTypeSpecifier指定)在给定的格式。
type -
ImageTypeSpecifier表示图像的可写的布局。
formatName的
format非正式名称。
Iterator含
ImageWriters。
IllegalArgumentException -如果任何参数
null。
ImageWriterSpi.canEncodeImage(ImageTypeSpecifier)
public static Iterator<ImageTranscoder> getImageTranscoders(ImageReader reader, ImageWriter writer)
ImageTranscoders
Iterator声称能将给定的
ImageReader和
ImageWriter元数据之间。
reader -
ImageReader。
writer -
ImageWriter。
Iterator含
ImageTranscoders。
IllegalArgumentException -如果
reader或
writer是
null。
public static BufferedImage read(File input) throws IOException
BufferedImage作为一个
ImageReader自动选择从当前注册提供
File解码结果。的
File包装在一个
ImageInputStream。如果没有注册
ImageReader声称能够阅读产生的流,
null返回。
从getUseCacheand getCacheDirectory当前缓存设置将被用来控制在ImageInputStream所创建的缓存。
请注意,没有read方法使用文件名作为String;而用这种方法创建的文件名后File。
这种方法并不试图找到ImageReaders能从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返回。
从getUseCacheand getCacheDirectory当前缓存设置将被用来控制在ImageInputStream所创建的缓存。
这种方法并不试图找到ImageReaders可以从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返回。
从getUseCacheand getCacheDirectory当前缓存设置将被用来控制在ImageInputStream所创建的缓存。
这种方法并不试图找到ImageReaders能从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;它是调用者的责任,关闭流,如果需要的话。
从getUseCacheand 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.