public class JPEGImageWriteParam extends ImageWriteParam
ImageWriter的getDefaultImageWriteParam方法返回。 
        这些添加的主要目的是允许表的规范用于编码缩写的流。 内置的JPEG作者也将接受普通的ImageWriteParam ,在这种情况下,作者将在内部构建必要的表格。 
 在任一种情况下, ImageWriteParam中的质量设置与底层库具有相同的含义:1.00表示全1的量化表,0.75表示“标准”,视觉无损量化表,0.00表示全部255的浓缩表。 
虽然缩写流的表格通常首先编写仅包含表格的缩写流来指定,但在某些应用程序中,表格提前固定。 该类允许从客户端代码直接指定表。
 通常,这些表在传递给写入程序的IIOMetadata对象中指定,并且这些对象中包含的任何表都将写入流中。 如果在元数据中没有指定表,则会写入一个缩写的流。 如果没有表包括在元数据和没有表在指定的JPEGImageWriteParam ,则缩写流使用的“标准”视觉无损表编码。 当必须写入缩写流,而不首先向流中写入任何表时,必须使用此类来指定表。 为了使用这个类,传递给写入程序的元数据对象不能包含任何表,也不能提供流元数据。 有关默认表的更多信息,请参阅JPEGQTable和JPEGHuffmanTable 。 
 默认JPEGImageWriteParam由返回getDefaultWriteParam作家的方法不包含表。 默认表包含在作者返回的默认IIOMetadata对象中。 
 如果元数据包含表,则忽略JPEGImageWriteParam中给出的表。 此外,一旦写入了一组表,只有元数据中的表可以覆盖它们以用于后续写入,无论是相同的流还是不同的。 为了使用这个类指定新的表,必须调用写入器的reset方法。 
有关内置JPEG插件的操作的更多信息,请参阅JPEG metadata format specification and usage notes 。
canOffsetTiles, canWriteCompressed, canWriteProgressive, canWriteTiles, compressionMode, compressionQuality, compressionType, compressionTypes, locale, MODE_COPY_FROM_METADATA, MODE_DEFAULT, MODE_DISABLED, MODE_EXPLICIT, preferredTileSizes, progressiveMode, tileGridXOffset, tileGridYOffset, tileHeight, tileWidth, tilingMode, tilingSetcontroller, defaultController, destinationOffset, destinationType, sourceBands, sourceRegion, sourceXSubsampling, sourceYSubsampling, subsamplingXOffset, subsamplingYOffset| Constructor and Description | 
|---|
| JPEGImageWriteParam(Locale locale)
              构造一个 
              JPEGImageWriteParam。 | 
| Modifier and Type | Method and Description | 
|---|---|
| boolean | areTablesSet()
              如果表当前设置,则返回 
              true。 | 
| JPEGHuffmanTable[] | getACHuffmanTables()
              返回在最近一次调用设置阿克·哈弗曼表的数组的副本 
              setEncodeTables,或null如果表当前没有设置。 | 
| String[] | getCompressionQualityDescriptions()
              返回一个可以与 
              getCompressionQualityValues一起使用的Strings数组,作为设置或显示压缩质量级别的用户界面的一部分。 | 
| float[] | getCompressionQualityValues()
              返回一个 
              float的数组,可以与getCompressionQualityDescriptions一起使用,作为设置或显示压缩质量级别的用户界面的一部分。 | 
| JPEGHuffmanTable[] | getDCHuffmanTables()
              返回在最近一次调用设置为德克·哈弗曼表的数组的副本 
              setEncodeTables,或null如果表当前没有设置。 | 
| boolean | getOptimizeHuffmanTables()
              如果 
              setOptimizeHuffmanTables从未被调用,则返回传递给最近调用setOptimizeHuffmanTables的值或false。 | 
| JPEGQTable[] | getQTables()
              返回在最近一次调用设置的量化表所组成数组的一个副本 
              setEncodeTables,或null如果表当前没有设置。 | 
| boolean | isCompressionLossless()
              返回 
              false因为JPEG插件仅支持有损压缩。 | 
| void | setEncodeTables(JPEGQTable[] qTables, JPEGHuffmanTable[] DCHuffmanTables, JPEGHuffmanTable[] ACHuffmanTables)
              设置用于编码缩写流的量化和霍夫曼表。 
             | 
| void | setOptimizeHuffmanTables(boolean optimize)
              告诉作者为写入过程的一部分,为图像生成优化的霍夫曼表。 
             | 
| void | unsetCompression()
              删除任何以前的压缩质量设置。 
             | 
| void | unsetEncodeTables()
              删除当前设置的任何量化和霍夫曼表。 
             | 
canOffsetTiles, canWriteCompressed, canWriteProgressive, canWriteTiles, getBitRate, getCompressionMode, getCompressionQuality, getCompressionType, getCompressionTypes, getLocale, getLocalizedCompressionTypeName, getPreferredTileSizes, getProgressiveMode, getTileGridXOffset, getTileGridYOffset, getTileHeight, getTileWidth, getTilingMode, setCompressionMode, setCompressionQuality, setCompressionType, setProgressiveMode, setTiling, setTilingMode, unsetTilingactivateController, getController, getDefaultController, getDestinationOffset, getDestinationType, getSourceBands, getSourceRegion, getSourceXSubsampling, getSourceYSubsampling, getSubsamplingXOffset, getSubsamplingYOffset, hasController, setController, setDestinationOffset, setDestinationType, setSourceBands, setSourceRegion, setSourceSubsamplingpublic JPEGImageWriteParam(Locale locale)
JPEGImageWriteParam 。 
           不支持平铺。 
           支持逐行编码。 
           默认逐行模式为MODE_DISABLED。 
           支持单一形式的压缩,名为“JPEG”。 
           默认压缩质量为0.75。 
          locale -一个 
            Locale由超类用于本地化压缩类型名称和质量描述,或 
            null 。 
           public void unsetCompression()
 默认实现将压缩质量重置为0.75F 。 
unsetCompression在 
            ImageWriteParam 
           IllegalStateException - 如果压缩模式不是 
            MODE_EXPLICIT 。 
           ImageWriteParam.setCompressionType(java.lang.String) , 
            ImageWriteParam.setCompressionQuality(float) 
           public boolean isCompressionLossless()
false因为JPEG插件仅支持有损压缩。 
          isCompressionLossless在 
            ImageWriteParam 
           false 。 
           IllegalStateException - 如果压缩模式不是 
            MODE_EXPLICIT 。 
           public String[] getCompressionQualityDescriptions()
ImageWriteParam 
          String可与被用于沿小号getCompressionQualityValues作为用户接口,用于设置或显示压缩质量级别的一部分。 
           String ,索引i提供了getCompressionQualityValues[i]和getCompressionQualityValues[i + 1]之间的质量范围的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 ,如果它是非null 。 
 如果有多种压缩类型,但没有设置,则会抛出IllegalStateException 。 
 默认实现检查压缩是否受支持,压缩模式是MODE_EXPLICIT 。 如果是,如果getCompressionTypes()是null或getCompressionType()是非null ,它返回null 。 
getCompressionQualityDescriptions在 
            ImageWriteParam 
           String s包含压缩质量等级的本地化描述。 
           ImageWriteParam.getCompressionQualityValues() 
           public float[] getCompressionQualityValues()
ImageWriteParam 
          float可与被用于沿小号getCompressionQualityDescriptions作为用户接口,用于设置或显示压缩质量级别的一部分。 
           见getCompressionQualityDescriptions以获取更多信息。 
            如果没有可用的描述,则返回null 。 如果null从getCompressionQualityDescriptions返回,此方法也必须返回null 。 
 如果有多种压缩类型,但没有设置,则会抛出一个IllegalStateException 。 
 默认实现检查压缩是否受支持,压缩模式是MODE_EXPLICIT 。 如果是,如果getCompressionTypes()是null或getCompressionType()是非null ,它返回null 。 
getCompressionQualityValues在 
            ImageWriteParam 
           float的数组表示压缩质量水平之间的界限,如String的 
            String 
            getCompressionQualityDescriptions 。 
           ImageWriteParam.getCompressionQualityDescriptions() 
           public boolean areTablesSet()
true 。 
          true如果表存在。 
           public void setEncodeTables(JPEGQTable[] qTables, JPEGHuffmanTable[] DCHuffmanTables, JPEGHuffmanTable[] ACHuffmanTables)
null 。 
           霍夫曼表的两个阵列必须具有相同数量的元素。 
           假定元数据中的帧和扫描头中的表格符号等同于这些数组中的索引。 
           参数数组由此方法复制。 
          qTables - 量化表对象数组。 
           DCHuffmanTables - 一个霍夫曼表对象数组。 
           ACHuffmanTables - 一个霍夫曼表对象数组。 
           IllegalArgumentException - 如果任何参数是 
            null或有超过4个元素,或者DC和AC表的数量不同。 
           unsetEncodeTables() 
           public void unsetEncodeTables()
public JPEGQTable[] getQTables()
setEncodeTables ,或 
           null如果表当前没有设置。 
          public JPEGHuffmanTable[] getDCHuffmanTables()
setEncodeTables或 
           null如果表当前未设置)时设置的DC Huffman表数组的副本。 
          JPEGHuffmanTable对象,或 
            null 。 
           setEncodeTables(javax.imageio.plugins.jpeg.JPEGQTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[]) 
           public JPEGHuffmanTable[] getACHuffmanTables()
setEncodeTables ,或 
           null如果表当前没有设置。 
          JPEGHuffmanTable对象,或 
            null 。 
           setEncodeTables(javax.imageio.plugins.jpeg.JPEGQTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[]) 
           public void setOptimizeHuffmanTables(boolean optimize)
false 。 
           如果此标志设置为true ,它将覆盖元数据中指定的任何表。 
           请注意,这意味着使用此标志设置为true任何图像将始终包含霍夫曼表。 
          optimize - 一个布尔值,表示写入时是否生成优化的霍夫曼表。 
           getOptimizeHuffmanTables() 
           public boolean getOptimizeHuffmanTables()
setOptimizeHuffmanTables ,或 
           false如果 
           setOptimizeHuffmanTables从未被调用。 
          true如果作者将生成优化的霍夫曼表。 
           setOptimizeHuffmanTables(boolean) 
            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.