public class ImageWriteParam extends IIOParam
ImageWriter 。
用于特定图像格式的插件可以定义该类的子类,并从其ImageWriter实现的getDefaultWriteParam方法返回该类的对象。 例如,内置的JPEG writer插件将返回javax.imageio.plugins.jpeg.JPEGImageWriteParam的javax.imageio.plugins.jpeg.JPEGImageWriteParam 。
要写入的图像的区域通过首先将图像的实际边界与由IIOParam.setSourceRegion指定的IIOParam.setSourceRegion (如果有的话)来确定。 如果生成的矩形的宽度或高度为零,作者将抛出一个IIOException 。 如果交集非空,写入将与第一子采样像素开始,并包括根据所指定的水平和垂直子采样因子的相交边界内的额外像素IIOParam.setSourceSubsampling 。
可以在四种模式之一中设置诸如平铺,逐行编码和压缩的各种特征。 MODE_DISABLED禁用功能; MODE_DEFAULT启用具有写入控制参数值的功能; MODE_EXPLICIT启用该功能并允许使用set方法提供附加参数; 和MODE_COPY_FROM_METADATA从传递给作者的流和图像元数据对象复制相关参数值。 所有功能的默认值为MODE_COPY_FROM_METADATA 。 鼓励在子类中提供的非标准功能,但不需要使用类似的方案。
插件作家可以延伸的功能ImageWriteParam通过提供实现额外的子类,插件特定的接口。 插件可以记录哪些接口可用,以及如何使用它们。 作家将默默地忽略他们不知道的ImageWriteParam子类的任何扩展功能。 此外,他们可能会忽略通过getDefaultWriteParam创建自己的ImageWriteParam实例时通常禁用的任何可选功能。
请注意,除非存在某种功能的查询方法,否则必须由所有ImageWriter实现( 例如逐行编码是可选的,但是必须支持二次抽样)。
ImageReadParam
| Modifier and Type | Field and Description |
|---|---|
protected boolean |
canOffsetTiles
A
boolean是
true如果这
ImageWriteParam允许平铺网格偏移参数被设置。
|
protected boolean |
canWriteCompressed
A
boolean是
true如果这个作者可以使用压缩编写图像。
|
protected boolean |
canWriteProgressive
A
boolean是
true如果这个
ImageWriteParam允许图像被写入作为逐渐增加的质量通行序列。
|
protected boolean |
canWriteTiles
A
boolean是
true如果这个
ImageWriteParam允许设置瓦片宽度和瓦片高度参数。
|
protected int |
compressionMode
模式控制压缩设置,必须设置为四个
MODE_*之一。
|
protected float |
compressionQuality
A
float包含当前的压缩质量设置。
|
protected String |
compressionType
A
String包含当前压缩类型的名称,如果没有设置,
null 。
|
protected String[] |
compressionTypes
的阵列
String包含可用压缩类型的名称秒。
|
protected Locale |
locale
A
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
一组优选的瓷砖尺寸范围对。
|
protected int |
progressiveMode
控制逐行编码的模式,必须设置为四个
MODE_*之一,除了
MODE_EXPLICIT 。
|
protected int |
tileGridXOffset
如果已经设置了平铺,则瓦片网格原点应从图像原点水平偏移,否则为0。
|
protected int |
tileGridYOffset
如果平铺已设置,则瓦片网格原点应与图像原点垂直偏移,否则为0。
|
protected int |
tileHeight
每个瓦片的高度如果平铺已设置,否则为0。
|
protected int |
tileWidth
每个瓦片的宽度如果已经设置了平铺,否则为0。
|
protected int |
tilingMode
该模式控制平铺设置,其中必须设置为四个
MODE_*值。
|
protected boolean |
tilingSet
一个
boolean是
true ,如果已经指定tiling参数。
|
controller, defaultController, destinationOffset, destinationType, sourceBands, sourceRegion, sourceXSubsampling, sourceYSubsampling, subsamplingXOffset, subsamplingYOffset| Modifier | Constructor and Description |
|---|---|
protected |
ImageWriteParam()
构造一个空的
ImageWriteParam 。
|
|
ImageWriteParam(Locale locale)
构造一个
ImageWriteParam集使用给定的
Locale 。
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
canOffsetTiles()
如果作者在写入时可以执行非零网格偏移量的平铺,则返回
true 。
|
boolean |
canWriteCompressed()
返回
true如果此writer支持压缩。
|
boolean |
canWriteProgressive()
返回
true如果作者可以将图像写成一系列逐渐提高质量的通行证。
|
boolean |
canWriteTiles()
如果作者在写作时可以执行平铺,则返回
true 。
|
float |
getBitRate(float quality)
返回
float指示在给定质量水平的每个输入图像数据的位的输出数据的位数的估计。
|
int |
getCompressionMode()
如果支持压缩,则返回当前压缩模式。
|
float |
getCompressionQuality()
返回当前的压缩质量设置。
|
String[] |
getCompressionQualityDescriptions()
返回的数组
String可与被用于沿小号
getCompressionQualityValues作为用户接口,用于设置或显示压缩质量级别的一部分。
|
float[] |
getCompressionQualityValues()
返回的数组
float可与被用于沿小号
getCompressionQualityDescriptions作为用户接口,用于设置或显示压缩质量级别的一部分。
|
String |
getCompressionType()
返回当前设置的压缩类型,或
null如果没有设置。
|
String[] |
getCompressionTypes()
返回一个可用的压缩类型的列表,如数组或
String s或
null如果可能无法使用这些接口选择压缩类型。
|
Locale |
getLocale()
返回当前设置
Locale ,或
null如果只有一个默认
Locale支持。
|
String |
getLocalizedCompressionTypeName()
返回当前压缩类型名称的本地化版本,使用
Locale通过返回
getLocale 。
|
Dimension[] |
getPreferredTileSizes()
返回一个
Dimension s的数组,
Dimension瓦片的合法尺寸范围,因为它们将被编码在输出文件或流中。
|
int |
getProgressiveMode()
返回以逐行方式写入流的当前模式。
|
int |
getTileGridXOffset()
返回图像的水平瓦片网格偏移,因为它将被写入输出流。
|
int |
getTileGridYOffset()
返回图像的垂直瓦片网格偏移,因为它将被写入输出流。
|
int |
getTileHeight()
返回图像中每个图块的高度,因为它将被写入输出流。
|
int |
getTileWidth()
返回图像中每个图块的宽度,因为它将被写入输出流。
|
int |
getTilingMode()
如果支持平铺,返回当前的平铺模式。
|
boolean |
isCompressionLossless()
返回
true如果当前压缩类型提供无损压缩。
|
void |
setCompressionMode(int mode)
指定是否执行压缩,如果需要确定压缩参数。
|
void |
setCompressionQuality(float quality)
将压缩质量设置为
0和
1之间的值。
|
void |
setCompressionType(String compressionType)
将压缩类型设置为getCompressionTypes指示的值
getCompressionTypes 。
|
void |
setProgressiveMode(int mode)
指定写入器将以逐行模式写入图像,以使流包含一系列增加质量的扫描。
|
void |
setTiling(int tileWidth, int tileHeight, int tileGridXOffset, int tileGridYOffset)
指定图像应该平铺在输出流中。
|
void |
setTilingMode(int mode)
确定图像是否将平铺在输出流中,如果是,将确定平铺参数的确定方式。
|
void |
unsetCompression()
删除任何以前的压缩类型和质量设置。
|
void |
unsetTiling()
删除通过调用指定的任何以前的瓦片网格参数
setTiling 。
|
activateController, getController, getDefaultController, getDestinationOffset, getDestinationType, getSourceBands, getSourceRegion, getSourceXSubsampling, getSourceYSubsampling, getSubsamplingXOffset, getSubsamplingYOffset, hasController, setController, setDestinationOffset, setDestinationType, setSourceBands, setSourceRegion, setSourceSubsamplingpublic static final int MODE_DISABLED
setTilingMode , setProgressiveMode和setCompressionMode至用于以后的写入禁用的特征。
也就是说,当设置此模式时,流将不会被平铺,渐进或压缩,相关的访问器方法将抛出IllegalStateException 。
public static final int MODE_DEFAULT
setTilingMode , setProgressiveMode和setCompressionMode启用该功能用于以后的写入。
也就是说,当启用此模式时,流将按照插件依赖方式由作者内部选择的合理默认进行平铺,渐进或压缩,相关的访问者方法将抛出IllegalStateException 。
public static final int MODE_EXPLICIT
setTilingMode或setCompressionMode之类的方法的常量值,以使能功能以供将来写入。
也就是说,当该模式被设置时,根据提供给该类中set方法的附加set ,流将被平铺或压缩,并且可以从相应的set方法中get 。
请注意,逐行输出不支持此模式。
public static final int MODE_COPY_FROM_METADATA
setTilingMode , setProgressiveMode ,或setCompressionMode启用该功能用于以后的写入。
也就是说,当启用此模式时,流将按照传入到写入操作的流和/或图像元数据的内容进行平铺,逐行或压缩,任何相关的访问器方法将会抛出一个IllegalStateException 。
这是所有功能的默认模式,因此包括元数据在内的读取(包括元数据)的读取将尽可能保留尽可能多的信息。
protected boolean canWriteTiles
boolean是true如果这ImageWriteParam允许设置瓦片宽度和瓦片高度参数。
默认值为false 。
子类必须手动设置该值。
不支持写入磁贴的子类应确保此值设置为false 。
protected int tilingMode
MODE_*之一。
默认值为MODE_COPY_FROM_METADATA 。
不写图块的子类可能会忽略此值。
protected Dimension[] preferredTileSizes
null ,表示没有首选尺寸。
如果值不是null ,那么它的长度必须至少为2。
不支持写图块的子类可能会忽略此值。
getPreferredTileSizes()
protected boolean tilingSet
boolean是true ,如果已经指定tiling参数。
不支持写图块的子类可能会忽略此值。
protected int tileWidth
不支持平铺的子类可能忽略此值。
protected int tileHeight
0 。
不支持平铺的子类可能忽略此值。
protected boolean canOffsetTiles
boolean是true如果这个ImageWriteParam允许设置平铺网格偏移参数。
默认值为false 。
子类必须手动设置该值。
不支持编写图块的子类,或支持写入但不支持拼贴的子类必须确保此值设置为false 。
protected int tileGridXOffset
0 。
不支持偏移图块的子类可能忽略此值。
protected int tileGridYOffset
0 。
不支持偏移图块的子类可能忽略此值。
protected boolean canWriteProgressive
boolean是true如果这个ImageWriteParam允许图像被写入逐渐增加的质量通行序列。
默认值为false 。
子类必须手动设置该值。
不支持逐行编码的子类必须确保该值设置为false 。
protected int progressiveMode
MODE_*之一,除了MODE_EXPLICIT 。
默认值为MODE_COPY_FROM_METADATA 。
不支持逐行编码的子类可能忽略此值。
protected boolean canWriteCompressed
boolean是true如果这个作者可以使用压缩编写图像。
默认值为false 。
子类必须手动设置该值。
不支持压缩的子类必须确保此值设置为false 。
protected int compressionMode
MODE_*之一。
默认值为MODE_COPY_FROM_METADATA 。
不支持压缩的子类可能忽略此值。
protected String[] compressionTypes
String包含可用压缩类型的名称秒。
子类必须手动设置该值。
不支持压缩的子类可能忽略此值。
protected String compressionType
String包含当前压缩类型的名称,如果没有设置, null 。
不支持压缩的子类可能忽略此值。
protected float compressionQuality
float包含当前的压缩质量设置。
初始值为1.0F 。
不支持压缩的子类可能忽略此值。
protected Locale locale
Locale用于本地化压缩类型名称和质量描述,或null使用默认值Locale 。
子类必须手动设置该值。
protected ImageWriteParam()
ImageWriteParam 。
子类可以正确设置实例变量。
public ImageWriteParam(Locale locale)
ImageWriteParam集使用给定的
Locale 。
locale - a
Locale用于本地化压缩类型名称和质量描述,或
null 。
public Locale getLocale()
Locale ,或
null如果只有一个默认
Locale支持。
Locale ,或
null 。
public boolean canWriteTiles()
true如果作者可以在书写时执行拼贴。
如果这个方法返回false ,那么setTiling会抛出一个UnsupportedOperationException 。
true如果作者支持平铺。
canOffsetTiles() ,
setTiling(int, int, int, int)
public boolean canOffsetTiles()
true如果写入可以在写入时执行非零网格偏移的平铺。
如果此方法返回false ,则setTiling将抛出UnsupportedOperationException如果网格偏移参数不为零。
如果canWriteTiles返回false ,此方法也将返回false 。
true如果作者支持非零瓦片偏移。
canWriteTiles() ,
setTiling(int, int, int, int)
public void setTilingMode(int mode)
mode - 用于平铺的模式。
UnsupportedOperationException - 如果
canWriteTiles返回
false 。
IllegalArgumentException - 如果
mode不是上面列出的一种模式。
setTiling(int, int, int, int) ,
getTilingMode()
public int getTilingMode()
UnsupportedOperationException 。
UnsupportedOperationException - 如果
canWriteTiles返回
false 。
setTilingMode(int)
public Dimension[] getPreferredTileSizes()
Dimension的数组, Dimension瓦片的合法尺寸范围,因为它们将被编码在输出文件或流中。
返回的数组是一个副本。
该信息作为一组对返回; 一对的第一个元素包含(包括)最小宽度和高度,第二个元素包含(包含)最大宽度和高度。 在一起,每对都定义了一个有效的大小范围。 要指定固定的大小,请对两个元素使用相同的宽度和高度。 指定任意范围,值null替代的实际阵列的使用Dimension秒。
如果在构造函数中没有指定数组,但是允许平铺,则该方法返回null 。
Dimension的数组,
Dimension长度至少为2,或
null 。
UnsupportedOperationException - 如果插件不支持平铺。
public void setTiling(int tileWidth,
int tileHeight,
int tileGridXOffset,
int tileGridYOffset)
tileWidth和tileHeight参数指定文件中的图块的宽度和高度。
如果图块宽度或高度大于图像的宽度或高度,则图像不会在该维度中平铺。
如果canOffsetTiles返回false ,则tileGridXOffset和tileGridYOffset参数必须为零。
tileWidth - 每个瓦片的宽度。
tileHeight - 每个瓷砖的高度。
tileGridXOffset - 瓦片网格的水平偏移。
tileGridYOffset - 瓦片网格的垂直偏移。
UnsupportedOperationException - 如果插件不支持平铺。
IllegalStateException - 如果平铺模式不是
MODE_EXPLICIT 。
UnsupportedOperationException - 如果插件不支持网格偏移,并且网格偏移量不为零。
IllegalArgumentException -如果瓦片大小不是由返回的容许范围之一内
getPreferredTileSizes 。
IllegalArgumentException - 如果
tileWidth或
tileHeight小于或等于0。
canWriteTiles ,
canOffsetTiles ,
getTileWidth() ,
getTileHeight() ,
getTileGridXOffset() ,
getTileGridYOffset()
public void unsetTiling()
setTiling 。
默认实现将实例变量tileWidth , tileHeight , tileGridXOffset和tileGridYOffset到0 。
UnsupportedOperationException - 如果插件不支持平铺。
IllegalStateException - 如果平铺模式不是
MODE_EXPLICIT 。
setTiling(int, int, int, int)
public int getTileWidth()
IllegalStateException 。
UnsupportedOperationException - 如果插件不支持平铺。
IllegalStateException - 如果平铺模式不是
MODE_EXPLICIT 。
IllegalStateException - 如果平铺参数尚未设置。
setTiling(int, int, int, int) ,
getTileHeight()
public int getTileHeight()
IllegalStateException 。
UnsupportedOperationException - 如果插件不支持平铺。
IllegalStateException - 如果平铺模式不是
MODE_EXPLICIT 。
IllegalStateException - 如果平铺参数尚未设置。
setTiling(int, int, int, int) ,
getTileWidth()
public int getTileGridXOffset()
IllegalStateException 。
UnsupportedOperationException - 如果插件不支持拼贴。
IllegalStateException - 如果平铺模式不是
MODE_EXPLICIT 。
IllegalStateException - 如果平铺参数尚未设置。
setTiling(int, int, int, int) ,
getTileGridYOffset()
public int getTileGridYOffset()
IllegalStateException 。
UnsupportedOperationException - 如果插件不支持平铺。
IllegalStateException - 如果平铺模式不是
MODE_EXPLICIT 。
IllegalStateException - 如果平铺参数尚未设置。
setTiling(int, int, int, int) ,
getTileGridXOffset()
public boolean canWriteProgressive()
true如果作者可以将图像写成一系列逐渐提高质量的通行证。
true如果作者支持逐行编码。
setProgressiveMode(int) ,
getProgressiveMode()
public void setProgressiveMode(int mode)
UnsupportedOperationException 。
模式参数确定如何选择progression参数,并且必须是MODE_DISABLED , MODE_COPY_FROM_METADATA ,或MODE_DEFAULT 。 否则抛出一个IllegalArgumentException 。
模式解释如下:
MODE_DISABLED - 无进展。 使用它来关闭进度。 MODE_COPY_FROM_METADATA - 输出图像将使用传入到作者的元数据对象中的任何进度参数。 MODE_DEFAULT - 图像将逐步写入,并由作者选择参数。 默认值为MODE_COPY_FROM_METADATA 。
mode - 在输出流中设置进度的模式。
UnsupportedOperationException - 如果作者不支持逐行编码。
IllegalArgumentException - 如果
mode不是上面列出的一种模式。
getProgressiveMode()
public int getProgressiveMode()
UnsupportedOperationException - 如果作者不支持逐行编码。
setProgressiveMode(int)
public boolean canWriteCompressed()
true如果此writer支持压缩。
true如果作者支持压缩。
public void setCompressionMode(int mode)
mode参数必须是四种模式之一,解释如下:
MODE_DISABLED - 如果模式设置为MODE_DISABLED ,则查询或修改压缩类型或参数的方法将抛出IllegalStateException (如果插件通常支持压缩)。 一些作者,例如JPEG,通常不提供未压缩的输出。 在这种情况下,尝试将模式设置为MODE_DISABLED将会抛出一个UnsupportedOperationException并且模式不会被更改。 MODE_EXPLICIT - 使用此ImageWriteParam中指定的压缩类型和质量设置进行ImageWriteParam 。 任何先前设置的压缩参数都被丢弃。 MODE_COPY_FROM_METADATA - 使用传入到作者的元数据对象中指定的任何压缩参数。 MODE_DEFAULT - 使用默认压缩参数。 默认值为MODE_COPY_FROM_METADATA 。
mode - 输出流中设置压缩的模式。
UnsupportedOperationException - 如果作者不支持压缩,或者不支持请求的模式。
IllegalArgumentException - 如果
mode不是上面列出的一种模式。
getCompressionMode()
public int getCompressionMode()
UnsupportedOperationException - 如果作者不支持压缩。
setCompressionMode(int)
public String[] getCompressionTypes()
String S,或null如果压缩类型可以不使用这些接口选择。
返回的数组是一个副本。
如果作者仅提供单一的强制性压缩形式,则不需要提供任何命名的压缩类型。 命名的压缩类型只能在用户能够在不同方案之间进行有意义的选择的地方使用。
默认实现检查压缩是否受支持,如果不支持,则会抛出UnsupportedOperationException 。 否则,它返回的克隆compressionTypes ,如果它是非实例变量null ,否则返回null 。
String包含可用压缩类型,或的(非本地化)名称
null 。
UnsupportedOperationException - 如果作者不支持压缩。
public void setCompressionType(String compressionType)
getCompressionTypes 。
如果传入值为null ,则删除以前的任何设置。
默认实现检查压缩是否受支持,压缩模式是否为MODE_EXPLICIT 。 如果是这样,它调用getCompressionTypes并检查是否compressionType是合法值之一。 如果是,则设置compressionType实例变量。 如果compressionType是null ,那么设置实例变量而不执行任何检查。
compressionType -
String返回的
getCompressionTypes ,或
null删除任何以前的设置。
UnsupportedOperationException - 如果作者不支持压缩。
IllegalStateException - 如果压缩模式不是
MODE_EXPLICIT 。
UnsupportedOperationException - 如果没有可设置的压缩类型。
IllegalArgumentException - 如果
compressionType不是
null但不是由
getCompressionTypes返回的值
getCompressionTypes 。
getCompressionTypes() ,
getCompressionType() ,
unsetCompression()
public String getCompressionType()
null如果没有设置。
类型被返回作为String从那些通过返回getCompressionTypes 。
如果没有设置压缩类型,则返回null 。
默认实现检查压缩是否受支持,压缩模式是否为MODE_EXPLICIT 。 如果是这样,它返回compressionType实例变量的值。
String ,如果没有设置类型,
null 。
UnsupportedOperationException - 如果作者不支持压缩。
IllegalStateException - 如果压缩模式不是
MODE_EXPLICIT 。
setCompressionType(java.lang.String)
public void unsetCompression()
默认实现将实例变量compressionType设置为null ,实例变量compressionQuality设置为1.0F 。
UnsupportedOperationException - 如果插件不支持压缩。
IllegalStateException - 如果压缩模式不是
MODE_EXPLICIT 。
setCompressionType(java.lang.String) ,
setCompressionQuality(float)
public String getLocalizedCompressionTypeName()
Locale通过返回getLocale 。
默认实现检查压缩是否受支持,压缩模式是否为MODE_EXPLICIT 。 如果是,如果compressionType为non-null ,则返回值为getCompressionType作为方便。
String包含当前压缩类型的本地化版本的名称。
UnsupportedOperationException - 如果作者不支持压缩。
IllegalStateException - 如果压缩模式不是
MODE_EXPLICIT 。
IllegalStateException - 如果没有设置压缩类型。
public boolean isCompressionLossless()
true如果当前压缩类型提供无损压缩。
如果插件仅提供一种强制性压缩类型,则可以先调用此方法,而不setCompressionType调用setCompressionType 。
如果有多种压缩类型,但没有设置,则会抛出一个IllegalStateException 。
默认实现检查压缩是否受支持,压缩模式是否为MODE_EXPLICIT 。 如果是,如果getCompressionTypes()是null或getCompressionType()是非null true作为方便返回。
true如果当前的压缩类型是无损的。
UnsupportedOperationException - 如果作者不支持压缩。
IllegalStateException - 如果压缩模式不是
MODE_EXPLICIT 。
IllegalStateException - 如果一组合法的压缩类型是非
null ,当前的压缩类型是
null 。
public void setCompressionQuality(float quality)
0和1之间的值。
默认情况下,仅支持单个压缩质量设置;
作者可以提供更多版本的ImageWriteParam ,提供更多的控制。
对于有损压缩方案,压缩质量应该控制文件大小和图像质量之间的折衷(例如,通过在编写JPEG图像时选择量化表)。
对于无损方案,可以使用压缩质量来控制文件大小和执行压缩所花费的时间之间的折衷(例如,通过优化行过滤器并在编写PNG图像时设置ZLIB压缩级别)。
0.0的压缩质量设置最通俗地被解释为“高压缩是重要的”,而1.0的设置最通常被解释为“高图像质量很重要”。
如果有多种压缩类型,但没有设置,则会抛出一个IllegalStateException 。
默认实现检查是否支持压缩,压缩模式为MODE_EXPLICIT 。 如果是,如果getCompressionTypes()返回null或compressionType是非null它设置compressionQuality实例变量。
quality -一个
float之间
0和
1指示期望的质量水平。
UnsupportedOperationException - 如果作者不支持压缩。
IllegalStateException - 如果压缩模式不是
MODE_EXPLICIT 。
IllegalStateException - 如果一组法定压缩类型不是
null ,当前的压缩类型是
null 。
IllegalArgumentException - 如果
quality不在
0和
1之间,包括在内。
getCompressionQuality()
public float getCompressionQuality()
如果有多种压缩类型,但没有设置,则会抛出IllegalStateException 。
默认实现检查压缩是否受支持,压缩模式是MODE_EXPLICIT 。 如果是,如果getCompressionTypes()是null或getCompressionType()是非null ,它返回compressionQuality实例变量的值。
UnsupportedOperationException - 如果作者不支持压缩。
IllegalStateException - 如果压缩模式不是
MODE_EXPLICIT 。
IllegalStateException - 如果一组法定压缩类型不是
null ,当前的压缩类型是
null 。
setCompressionQuality(float)
public float getBitRate(float quality)
float指示在给定质量水平下每个输入图像数据位的输出数据的位数的估计。
该值通常位于0和1之间,较小的值表示更多的压缩。
-1.0F的特殊值用于表示没有估计可用。
如果有多种压缩类型,但没有设置,则抛出IllegalStateException 。
默认实现检查是否支持压缩,压缩模式为MODE_EXPLICIT 。 如果是,如果getCompressionTypes()是null或getCompressionType()是非null ,而quality是在范围内,则返回-1.0 。
quality - 要查询其比特率的质量设置。
-1.0F ,如果没有估计可用。
UnsupportedOperationException - 如果作者不支持压缩。
IllegalStateException - 如果压缩模式不是
MODE_EXPLICIT 。
IllegalStateException - 如果一组合法的压缩类型是非
null ,当前的压缩类型是
null 。
IllegalArgumentException - 如果
quality不在
0和
1之间,包括在内。
public String[] getCompressionQualityDescriptions()
String可与被用于沿小号getCompressionQualityValues作为用户接口,用于设置或显示压缩质量级别的一部分。
所述String具有索引i提供质量水平之间的范围内的描述getCompressionQualityValues[i]和getCompressionQualityValues[i + 1] 。
需要注意的是阵列的长度从返回getCompressionQualityValues将始终是一个大于从返回getCompressionQualityDescriptions 。
作为一个例子,字符串“好”,“较好”和“最佳”可与范围相关[0, .33) , [.33, .66)和[.66, 1.0] 。 在这种情况下, getCompressionQualityDescriptions将返回{ "Good", "Better", "Best" }和getCompressionQualityValues将返回{ 0.0F, .33F, .66F, 1.0F } 。
如果没有可用的描述,则返回null 。 如果null从getCompressionQualityValues返回,此方法也必须返回null 。
对于Locale返回的getLocale ,如果不是getLocale ,则应对其进行null 。
如果有多种压缩类型,但没有设置,则会抛出IllegalStateException 。
默认实现检查压缩是否受支持,并且压缩模式是MODE_EXPLICIT 。 如果是,如果getCompressionTypes()是null或getCompressionType()是非null ,它返回null 。
String的数组包含压缩质量等级的本地化描述。
UnsupportedOperationException - 如果作者不支持压缩。
IllegalStateException - 如果压缩模式不是
MODE_EXPLICIT 。
IllegalStateException - 如果一组合法的压缩类型是非
null ,当前的压缩类型是
null 。
getCompressionQualityValues()
public float[] getCompressionQualityValues()
getCompressionQualityDescriptions一起使用的float s数组,作为设置或显示压缩质量等级的用户界面的一部分。
见getCompressionQualityDescriptions以获取更多信息。
如果没有可用的描述,则返回null 。 如果null从getCompressionQualityDescriptions返回,此方法也必须返回null 。
如果有多种压缩类型,但没有设置,则抛出IllegalStateException 。
默认实现检查压缩是否受支持,压缩模式是MODE_EXPLICIT 。 如果是,如果getCompressionTypes()是null或getCompressionType()是非null ,它返回null 。
float s的阵列
float压缩质量水平之间的边界,如String的
String
getCompressionQualityDescriptions 。
UnsupportedOperationException - 如果写入程序不支持压缩。
IllegalStateException - 如果压缩模式不是
MODE_EXPLICIT 。
IllegalStateException - 如果一组合法的压缩类型不是
null ,当前的压缩类型是
null 。
getCompressionQualityDescriptions()
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.