- java.lang.Object
-  
      - javax.imageio.IIOParam
-  
        - javax.imageio.ImageWriteParam
-  
          - javax.imageio.plugins.jpeg.JPEGImageWriteParam
 
 
 
-  
       
 public class JPEGImageWriteParam extends ImageWriteParam 此类添加了在使用内置JPEG编写器插件时设置JPEG量化和霍夫曼表的功能,并请求为图像计算优化的霍夫曼表。 将从内置JPEGImageWriter的getDefaultImageWriteParam方法返回此类的实例。这些添加的主要目的是允许表格的规范用于编码缩写流。 内置的JPEG ImageWriteParam也将接受普通的ImageWriteParam,在这种情况下,ImageWriteParam将在内部构建必要的表。在任何一种情况下, ImageWriteParam的质量设置与底层库的含义相同:1.00表示所有1的量化表,0.75表示“标准”,视觉无损量化表,0.00表示所有255的水化表。虽然缩写流的表通常通过首先编写仅包含表的缩写流来指定,但在某些应用程序中,表是提前修复的。 此类允许直接从客户端代码指定表。 通常,这些表在传递给writer的 IIOMetadata对象中指定,并且这些对象中包含的所有表都将写入流中。 如果元数据中未指定表,则写入缩写流。 如果元数据中不包含表,并且JPEGImageWriteParam未指定表,则使用“标准”视觉无损表对缩写流进行编码。 当必须先写入缩写流而不先将任何表写入流时,必须使用此类来指定表。 为了使用此类,传递给writer的元数据对象必须不包含表,并且不能提供流元数据。 有关默认表的更多信息,请参见JPEGQTable和JPEGHuffmanTable。JPEGImageWriteParam的getDefaultWriteParam方法返回的默认值JPEGImageWriteParam不包含任何表。 默认表包含在IIOMetadata返回的默认IIOMetadata对象中。如果元数据确实包含表,则忽略 JPEGImageWriteParam中给出的表。 此外,一旦编写了一组表,只有元数据中的表可以覆盖它们以用于后续写入,无论是相同的流还是不同的流。 要使用此类指定新表,必须调用writer的reset方法。有关内置JPEG插件操作的详细信息,请参阅JPEG metadata format specification and usage notes 。 
-  
        
       -  
             字段汇总-  
               声明的属性在类 javax.imageio.ImageWriteParamcanOffsetTiles, 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, tilingSet
 -  
               声明的属性在类 javax.imageio.IIOParamcontroller, defaultController, destinationOffset, destinationType, sourceBands, sourceRegion, sourceXSubsampling, sourceYSubsampling, subsamplingXOffset, subsamplingYOffset
 
-  
               
 -  
             构造方法摘要构造方法 构造器 描述 JPEGImageWriteParam(Locale locale)构造一个JPEGImageWriteParam。
 -  
             方法摘要所有方法 实例方法 具体的方法 变量和类型 方法 描述 booleanareTablesSet()如果当前设置了表,则返回true。JPEGHuffmanTable[]getACHuffmanTables()返回最近一次调用setEncodeTables上设置的AC Huffman表数组的副本,如果当前未设置表,则null。JPEGHuffmanTable[]getDCHuffmanTables()返回最近一次调用setEncodeTables上设置的DC Huffman表数组的副本,如果当前未设置表,则null。booleangetOptimizeHuffmanTables()返回传递到最近一次调用价值setOptimizeHuffmanTables,或false如果setOptimizeHuffmanTables从未被调用。JPEGQTable[]getQTables()返回最近一次调用setEncodeTables上设置的量化表数组的副本,如果当前未设置表,则null。booleanisCompressionLossless()返回false因为JPEG插件仅支持有损压缩。voidsetEncodeTables(JPEGQTable[] qTables, JPEGHuffmanTable[] DCHuffmanTables, JPEGHuffmanTable[] ACHuffmanTables)设置量化和Huffman表以用于编码缩写流。voidsetOptimizeHuffmanTables(boolean optimize)告诉作者在写入过程中为图像生成优化的霍夫曼表。voidunsetCompression()删除任何先前的压缩质量设置。voidunsetEncodeTables()删除当前设置的所有量化和Huffman表。-  
               声明方法的类 javax.imageio.ImageWriteParamcanOffsetTiles, canWriteCompressed, canWriteProgressive, canWriteTiles, getBitRate, getCompressionMode, getCompressionQuality, getCompressionQualityDescriptions, getCompressionQualityValues, getCompressionType, getCompressionTypes, getLocale, getLocalizedCompressionTypeName, getPreferredTileSizes, getProgressiveMode, getTileGridXOffset, getTileGridYOffset, getTileHeight, getTileWidth, getTilingMode, setCompressionMode, setCompressionQuality, setCompressionType, setProgressiveMode, setTiling, setTilingMode, unsetTiling
 -  
               声明方法的类 javax.imageio.IIOParamactivateController, getController, getDefaultController, getDestinationOffset, getDestinationType, getSourceBands, getSourceRegion, getSourceXSubsampling, getSourceYSubsampling, getSubsamplingXOffset, getSubsamplingYOffset, hasController, setController, setDestinationOffset, setDestinationType, setSourceBands, setSourceRegion, setSourceSubsampling
 
-  
               
 
-  
             
-  
        
       -  
             构造方法详细信息-  JPEGImageWriteParampublic JPEGImageWriteParam(Locale locale) 构造一个JPEGImageWriteParam。 平铺不受支持。 支持渐进式编码。 默认渐进模式为MODE_DISABLED。 支持单一形式的压缩,名为“JPEG”。 默认压缩质量为0.75。- 参数
-  
              locale-一个Locale由超类用于本地化压缩类型名称和质量描述,或null。
 
 
-  
 -  
             方法详细信息-  unsetCompressionpublic void unsetCompression() 删除任何先前的压缩质量设置。默认实现将压缩质量重置为 0.75F。- 重写:
-  
              unsetCompression在类ImageWriteParam
- 异常
-  
              IllegalStateException- 如果压缩模式不是MODE_EXPLICIT。
- 另请参见:
-  
              ImageWriteParam.setCompressionType(java.lang.String),ImageWriteParam.setCompressionQuality(float)
 
 -  isCompressionLosslesspublic boolean isCompressionLossless() 返回false因为JPEG插件仅支持有损压缩。- 重写:
-  
              isCompressionLossless类ImageWriteParam
- 结果
-  
              false。
- 异常
-  
              IllegalStateException- 如果压缩模式不是MODE_EXPLICIT。
 
 -  areTablesSetpublic boolean areTablesSet() 如果当前设置了表,则返回true。- 结果
-  
              true如果存在表格。
 
 -  setEncodeTablespublic void setEncodeTables(JPEGQTable[] qTables, JPEGHuffmanTable[] DCHuffmanTables, JPEGHuffmanTable[] ACHuffmanTables) 设置量化和Huffman表以用于编码缩写流。 每种类型最多可以有4个表。 如果在元数据中指定了表,则忽略这些表。 所有参数必须为非null。 两个Huffman表数组必须具有相同数量的元素。 假设元数据中的帧和扫描头中的表说明符等同于这些数组中的索引。 参数数组由此方法复制。- 参数
-  
              qTables- 量化表对象的数组。
-  
              DCHuffmanTables- 霍夫曼表对象的数组。
-  
              ACHuffmanTables- 霍夫曼表对象的数组。
- 异常
-  
              IllegalArgumentException- 如果任何参数为null或具有4个以上的元素,或者DC和AC表的数量不同。
- 另请参见:
-  
              unsetEncodeTables()
 
 -  unsetEncodeTablespublic void unsetEncodeTables() 删除当前设置的所有量化和Huffman表。
 -  getQTablespublic JPEGQTable[] getQTables() 返回最近一次调用setEncodeTables上设置的量化表数组的副本,如果当前未设置表,则null。
 -  getDCHuffmanTablespublic JPEGHuffmanTable[] getDCHuffmanTables() 返回最近一次调用setEncodeTables上设置的DC Huffman表数组的副本,如果当前未设置表,则null。- 结果
-  
              JPEGHuffmanTable对象的数组,或null。
- 另请参见:
-  
              setEncodeTables(javax.imageio.plugins.jpeg.JPEGQTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[])
 
 -  getACHuffmanTablespublic JPEGHuffmanTable[] getACHuffmanTables() 返回最近一次调用setEncodeTables上设置的AC Huffman表数组的副本,如果当前未设置表,则null。- 结果
-  
              JPEGHuffmanTable对象的数组,或null。
- 另请参见:
-  
              setEncodeTables(javax.imageio.plugins.jpeg.JPEGQTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[])
 
 -  setOptimizeHuffmanTablespublic void setOptimizeHuffmanTables(boolean optimize) 告诉作者在写入过程中为图像生成优化的霍夫曼表。 默认值为false。 如果此标志设置为true,则它将覆盖元数据中指定的所有表。 请注意,这意味着使用此标志设置为true写入的任何图像将始终包含霍夫曼表。- 参数
-  
              optimize- 一个布尔值,指示在写入时是否生成优化的霍夫曼表。
- 另请参见:
-  
              getOptimizeHuffmanTables()
 
 -  getOptimizeHuffmanTablespublic boolean getOptimizeHuffmanTables() 返回传递到最近一次调用价值setOptimizeHuffmanTables,或false如果setOptimizeHuffmanTables从未被调用。- 结果
-  
              true如果true将生成优化的霍夫曼表。
- 另请参见:
-  
              setOptimizeHuffmanTables(boolean)
 
 
-  
 
-