public class JPEGImageReadParam extends ImageReadParam
ImageReader的getDefaultImageReadParam方法返回。
这些添加的唯一目的是允许用于解码缩写流的表的规范。 内置的JPEG阅读器也将接受一个普通的ImageReadParam ,这对于解码非缩写流是足够的。
虽然缩写流的表格通常是通过首先阅读另一个仅包含表格的缩略图流而获得的,但在某些应用程序中,表格提前固定。 该类允许从客户端代码直接指定表。 如果没有在流中或在JPEGImageReadParam中指定JPEGImageReadParam ,则该流被假定使用“标准”视觉无损表。 有关默认表的更多信息,请参阅JPEGQTable和JPEGHuffmanTable 。
内置JPEG读取器的getDefaultReadParam方法返回的默认值JPEGImageReadParam不包含表。 默认表可以从表JPEGQTable和JPEGHuffmanTable表获得。
如果流包含表,则忽略JPEGImageReadParam中给出的表。 此外,如果流中的第一图像包含表,并且后续的图像不包含表,则在第一图像中给出的表用于所有缩写图像。 一旦从流中读取表,只能由随后从同一个流读取的表覆盖它们。 为了指定新的表,必须调用读者的setInput方法来更改流。
请注意,此类不提供获取流中找到的表的方法。 这些可以通过查阅读者返回的IIOMetadata对象从流中提取出来。
有关内置JPEG插件的操作的更多信息,请参阅JPEG metadata format specification and usage notes 。
canSetSourceRenderSize, destination, destinationBands, minProgressivePass, numProgressivePasses, sourceRenderSizecontroller, defaultController, destinationOffset, destinationType, sourceBands, sourceRegion, sourceXSubsampling, sourceYSubsampling, subsamplingXOffset, subsamplingYOffset| Constructor and Description |
|---|
JPEGImageReadParam()
构造一个
JPEGImageReadParam 。
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
areTablesSet()
如果表当前设置,则返回
true 。
|
JPEGHuffmanTable[] |
getACHuffmanTables()
返回在最近一次调用设置阿克·哈弗曼表的数组的副本
setDecodeTables ,或
null如果表当前没有设置。
|
JPEGHuffmanTable[] |
getDCHuffmanTables()
返回在最近一次调用设置为德克·哈弗曼表的数组的副本
setDecodeTables ,或
null如果表当前没有设置。
|
JPEGQTable[] |
getQTables()
返回在最近调用
setDecodeTables或
null如果表当前未设置)时设置的量化表数组的副本。
|
void |
setDecodeTables(JPEGQTable[] qTables, JPEGHuffmanTable[] DCHuffmanTables, JPEGHuffmanTable[] ACHuffmanTables)
设置用于解码缩写流的量化和霍夫曼表。
|
void |
unsetDecodeTables()
删除当前设置的任何量化和霍夫曼表。
|
canSetSourceRenderSize, getDestination, getDestinationBands, getSourceMaxProgressivePass, getSourceMinProgressivePass, getSourceNumProgressivePasses, getSourceRenderSize, setDestination, setDestinationBands, setDestinationType, setSourceProgressivePasses, setSourceRenderSizeactivateController, getController, getDefaultController, getDestinationOffset, getDestinationType, getSourceBands, getSourceRegion, getSourceXSubsampling, getSourceYSubsampling, getSubsamplingXOffset, getSubsamplingYOffset, hasController, setController, setDestinationOffset, setSourceBands, setSourceRegion, setSourceSubsamplingpublic boolean areTablesSet()
true 。
true如果表存在。
public void setDecodeTables(JPEGQTable[] qTables, JPEGHuffmanTable[] DCHuffmanTables, JPEGHuffmanTable[] ACHuffmanTables)
null 。
霍夫曼表的两个阵列必须具有相同数量的元素。
流中的帧和扫描头中的表格符号被假定为等同于这些数组中的索引。
参数数组由此方法复制。
qTables - 量化表对象的数组。
DCHuffmanTables - 一个霍夫曼表对象数组。
ACHuffmanTables - 一个霍夫曼表对象数组。
IllegalArgumentException - 如果任何参数是
null ,有超过4个元素,或者DC和AC表的数量不同。
unsetDecodeTables()
public void unsetDecodeTables()
public JPEGQTable[] getQTables()
setDecodeTables ,或
null如果表当前没有设置。
public JPEGHuffmanTable[] getDCHuffmanTables()
setDecodeTables ,或
null如果表当前没有设置。
JPEGHuffmanTable对象,或
null 。
setDecodeTables(javax.imageio.plugins.jpeg.JPEGQTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[])
public JPEGHuffmanTable[] getACHuffmanTables()
setDecodeTables ,或
null如果表当前没有设置。
JPEGHuffmanTable对象,或
null 。
setDecodeTables(javax.imageio.plugins.jpeg.JPEGQTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[])
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.