|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
javax.imageio
类 ImageWriteParam
java.lang.Object javax.imageio.IIOParam javax.imageio.ImageWriteParam
- 直接已知子类:
- BMPImageWriteParam, JPEGImageWriteParam
-
public class ImageWriteParam
- extends IIOParam
描述如何对流进行编码的类。此类的实例或其子类用于提供 ImageWriter
实例的规定“入门”信息。
用于特定图像格式的插件可以定义此类的一个子类,并从其 ImageWriter
实现的 getDefaultWriteParam
方法返回该类的对象。例如,内置 JPEG writer 插件将返回 javax.imageio.plugins.jpeg.JPEGImageWriteParam
的实例。
要写入的图像区域通过第一次将图像的实际边界与 IIOParam.setSourceRegion
指定的矩形(如果有)的相交来确定。如果所得矩形的宽度或高度为零,则该 writer 将抛出 IIOException
。如果相交区域为非空,则写入操作将从第一个二次取样的像素开始,并根据
指定的水平和垂直二次取样因子包含相交边界内额外的像素。IIOParam.setSourceSubsampling
个别特征(比如 tiling、逐步编码和压缩)可以用以下四种模式之一设置。MODE_DISABLED
禁用这些特征;MODE_DEFAULT
使用带有受控于 writer 的参数值启用这些特征;MODE_EXPLICIT
启用这些特定并允许使用 set
方法提供额外的参数;MODE_COPY_FROM_METADATA
则从流以及传递给 writer 的图像元数据对象中复制相关的参数值。所有特征的默认模式是 MODE_COPY_FROM_METADATA
。鼓励使用子类中提供的非标准特征,但不要求使用类似的方案。
插件 writer 可以通过提供实现额外的、特定于插件的接口来扩展 ImageWriteParam
的功能。由插件负责记录哪些接口可用以及如何使用。writer 将安静地忽略所有其未知的 ImageWriteParam
子类扩展功能。此外,将忽略通常在通过 getDefaultWriteParam
创建自己的 ImageWriteParam
实例时禁用的所有可选功能。
注意,如果不存在针对某一功能的查询方法,所有 ImageWriter
实现就必须都支持该功能(例如,逐步编码是可选的,但二次取样必须受支持)。
- 另请参见:
-
ImageReadParam
字段摘要 | |
---|---|
protected boolean |
canOffsetTiles 如果此 ImageWriteParam 允许使用 tiling 网格偏移量参数,则返回为 true 的 boolean 值。 |
protected boolean |
canWriteCompressed 如果此 writer 可以使用压缩写入图像,则返回为 true 的 boolean 值。 |
protected boolean |
canWriteProgressive 如果此 ImageWriteParam 允许以一个质量递增传递的逐步序列的方式写入图像,则返回为 true 的 boolean 值。 |
protected boolean |
canWriteTiles 如果此 ImageWriteParam 允许设置 tile 的宽度和高度参数,则返回为 true 的 boolean 值。 |
protected int |
compressionMode 控制压缩设置的模式,必须将它设置为四个 MODE_* 值之一。 |
protected float |
compressionQuality 包含当前压缩质量设置的 float 值。 |
protected String |
compressionType 包含当前压缩类型名称的 String ,如果没有设置压缩类型,则返回 null 。 |
protected String[] |
compressionTypes 包含可用压缩类型名称的 String 数组。 |
protected Locale |
locale 用于本地化压缩类型名称和质量描述的 Locale ,null 表示使用默认 Locale 。 |
static int |
MODE_COPY_FROM_METADATA 一个常量值,可以传入诸如 setTilingMode 、setProgressiveMode 或 setCompressionMode 之类的方法中,以启用用于以后的写入操作的特征。 |
static int |
MODE_DEFAULT 一个常量值,可以传入诸如 setTilingMode 、setProgressiveMode 和 setCompressionMode 之类的方法中,以启用用于以后的写入操作的特征。 |
static int |
MODE_DISABLED 一个常量值,可以传入诸如 setTilingMode 、setProgressiveMode 和 setCompressionMode 之类的方法中,以禁用用于以后的写入操作的某个特征。 |
static int |
MODE_EXPLICIT 一个常量值,可以传入诸如 setTilingMode 或 setCompressionMode 之类的方法中,以启用用于以后的写入操作的特征。 |
protected Dimension[] |
preferredTileSizes 首选 tile 大小范围对组成的数组。 |
protected int |
progressiveMode 控制逐步编码的模式,必须将它设置为除 MODE_EXPLICIT 以外的四个 MODE_* 值之一。 |
protected int |
tileGridXOffset 如果已经设置 tiling,则返回 tile 网格原点应该从图像原点水平偏移的量。 |
protected int |
tileGridYOffset 如果已经设置 tiling,则返回 tile 网格原点应该从图像原点垂直偏移的量。 |
protected int |
tileHeight 如果已经设置 tiling,则返回每个 tile 的高度,否则返回 0。 |
protected int |
tileWidth 如果已经设置 tiling,则返回每个 tile 的宽度,否则返回 0。 |
protected int |
tilingMode 控制 tiling 设置的模式,必须将它设置为以下四个 MODE_* 值之一。 |
protected boolean |
tilingSet 如果已经指定 tiling 参数,则返回一个为 true 的 boolean 值。 |
从类 javax.imageio.IIOParam 继承的字段 |
---|
controller, defaultController, destinationOffset, destinationType, sourceBands, sourceRegion, sourceXSubsampling, sourceYSubsampling, subsamplingXOffset, subsamplingYOffset |
构造方法摘要 | |
---|---|
protected |
ImageWriteParam() 构造一个空的 ImageWriteParam 。 |
|
ImageWriteParam(Locale locale) 构造一个 ImageWriteParam 集,以使用给定 Locale 。 |
方法摘要 | |
---|---|
boolean |
canOffsetTiles() 如果 writer 在执行写入操作的同时可以使用非零网格偏移量进行平铺,则返回 true 。 |
boolean |
canWriteCompressed() 如果此 writer 支持压缩,则返回 true 。 |
boolean |
canWriteProgressive() 如果 writer 能够以一系列质量逐渐递增的传递的方式将图像写出,则返回 true 。 |
boolean |
canWriteTiles() 如果 writer 在执行写入操作的同时可以进行平铺,则返回 true 。 |
float |
getBitRate(float quality) 返回一个 float 值,该值指示对给定质量级别上用于输入图像数据的每个位的输出数据位数的估计。 |
int |
getCompressionMode() 如果支持压缩,则返回当前压缩模式。 |
float |
getCompressionQuality() 返回当前压缩质量设置。 |
String[] |
getCompressionQualityDescriptions() 返回一个 String 数组,可作为用户界面的一部分与 getCompressionQualityValues 一起使用,以设置或显示压缩质量级别。 |
float[] |
getCompressionQualityValues() 返回一个 float 数组,可作为用户界面的一部分与 getCompressionQualityDescriptions 一起使用,以设置或显示压缩质量级别。 |
String |
getCompressionType() 返回当前设置的压缩类型,如果没有设置任何压缩类型,则返回 null 。 |
String[] |
getCompressionTypes() 以数组或 String 形式返回可用压缩类型的列表,如果不能使用这些接口选择压缩类型,则返回 null 。 |
Locale |
getLocale() 返回当前设置的 Locale ,如果仅支持默认 Locale ,则返回 null 。 |
String |
getLocalizedCompressionTypeName() 返回当前压缩类型的本地化名称,使用 getLocale 返回的 Locale 。 |
Dimension[] |
getPreferredTileSizes() 返回一个 Dimension 数组,指示在输出文件或流中进行编码时 tile 的合法大小范围。 |
int |
getProgressiveMode() 返回以逐步方式将数据写入流的当前模式。 |
int |
getTileGridXOffset() 返回图像的水平 tile 网格偏移量,将根据该偏移量对输出流进行写入。 |
int |
getTileGridYOffset() 返回图像的垂直 tile 网格偏移量,将根据该偏移量对输出流进行写入。 |
int |
getTileHeight() 返回图像中每个 tile 的高度,将根据该高度对输出流进行写入。 |
int |
getTileWidth() 返回图像中每个 tile 的宽度,将根据该宽度对输出流进行写入。 |
int |
getTilingMode() 如果支持平铺,则返回当前平铺模式。 |
boolean |
isCompressionLossless() 如果当前压缩类型提供无损失的压缩,则返回 true 。 |
void |
setCompressionMode(int mode) 指定是否执行压缩,如果执行压缩,将如何确定 compression 参数。 |
void |
setCompressionQuality(float quality) 将压缩质量设置为 0 和 1 之间的某个值。 |
void |
setCompressionType(String compressionType) 将压缩类型设置为 getCompressionTypes 指示的值之一。 |
void |
setProgressiveMode(int mode) 指定 writer 使用逐步模式写出图像,从而输出流将包含一系列质量递增的扫描。 |
void |
setTiling(int tileWidth, int tileHeight, int tileGridXOffset, int tileGridYOffset) 指定应该在输出流中平铺图像。 |
void |
setTilingMode(int mode) 确定图像在输出流中是否将被平铺,如果将被平铺,将如何确定 tiling 参数。 |
void |
unsetCompression() 移除所有以前的压缩类型和质量设置。 |
void |
unsetTiling() 移除通过调用 setTiling 指定的所有以前的 tile 网格参数。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
字段详细信息 |
---|
MODE_DISABLED
public static final int MODE_DISABLED
-
一个常量值,可以传入诸如
setTilingMode
、setProgressiveMode
和setCompressionMode
之类的方法中,以禁用用于以后的写入操作的某个特征。也就是说,在设置此模式时,该流将不被平铺、逐步编码或压缩,相关的访问器方法将抛出IllegalStateException
。
MODE_DEFAULT
public static final int MODE_DEFAULT
-
一个常量值,可以传入诸如
setTilingMode
、setProgressiveMode
和setCompressionMode
之类的方法中,以启用用于以后的写入操作的特征。也就是说,在启用此模式时,将根据 writer 以与插件有关的方式内部选择的明智默认值来平铺、逐步编码和压缩该流,相关的访问器方法将抛出IllegalStateException
。
MODE_EXPLICIT
public static final int MODE_EXPLICIT
-
一个常量值,可以传入诸如
setTilingMode
或setCompressionMode
之类的方法中,以启用用于以后的写入操作的特征。也就是说,在设置此模式时,将根据为此类中的相应set
方法提供的额外信息和可以从相应get
方法中检索到的信息来平铺或压缩该流。注意,此模式不支持逐步输出。
MODE_COPY_FROM_METADATA
public static final int MODE_COPY_FROM_METADATA
-
一个常量值,可以传入诸如
setTilingMode
、setProgressiveMode
或setCompressionMode
之类的方法中,以启用用于以后的写入操作的特征。也就是说,在启用此模式时,将根据传入写入操作的流内容和/或图像元数据来平铺、逐步编码和压缩该流,所有相关访问器方法都将抛出IllegalStateException
。这是所有特征的默认模式,因此,如果一个包括元数据的读取操作之后将进行包括元数据的写入操作,则读取操作将保留尽可能多的信息。
canWriteTiles
protected boolean canWriteTiles
-
如果此
ImageWriteParam
允许设置 tile 的宽度和高度参数,则返回为true
的boolean
值。默认情况下,该值为false
。子类必须手工设置该值。不支持写入 tile 的子类应该确保此值被设置为
false
。
tilingMode
protected int tilingMode
-
控制 tiling 设置的模式,必须将它设置为以下四个
MODE_*
值之一。默认值为MODE_COPY_FROM_METADATA
。不支持写入 tile 的子类可以忽略此值。
preferredTileSizes
protected Dimension[] preferredTileSizes
-
首选 tile 大小范围对组成的数组。默认值为
null
,指示没有首选大小。如果该值为非null
值,则首选大小的平均长度必须至少为 2。不支持写入 tile 的子类可以忽略此值。
- 另请参见:
-
getPreferredTileSizes()