- java.lang.Object
-
- javax.imageio.IIOParam
-
- javax.imageio.ImageReadParam
-
- javax.imageio.plugins.jpeg.JPEGImageReadParam
-
public class JPEGImageReadParam extends ImageReadParam
此类添加了在使用内置JPEG阅读器插件时设置JPEG量化和霍夫曼表的功能。 将从内置JPEGImageReader
的getDefaultImageReadParam
方法返回此类的实例。这些添加的唯一目的是允许表格的规范用于解码缩写流。 内置的JPEG阅读器也可以接受普通的
ImageReadParam
,足以解码非缩写流。虽然缩写流的表通常是通过首先读取仅包含表的另一个缩写流来获得的,但在某些应用中,表是提前修复的。 此类允许直接从客户端代码指定表。 如果在流或
JPEGImageReadParam
未指定表,则假定流使用“标准”视觉无损表。 有关默认表的更多信息,请参见JPEGQTable
和JPEGHuffmanTable
。内置JPEG阅读器的
getDefaultReadParam
方法返回的默认值JPEGImageReadParam
不包含任何表。 可以从表类JPEGQTable
和JPEGHuffmanTable
获得默认表。如果流确实包含表,则忽略
JPEGImageReadParam
中给出的表。 此外,如果流中的第一个图像确实包含表而后续的图像不包含表,则第一个图像中给出的表用于所有缩略图像。 一旦从流中读取了表,就可以仅通过随后从同一流中读取的表来覆盖它们。 为了指定新表,必须调用阅读器的setInput
方法来更改流。请注意,此类不提供获取流中找到的表的方法。 可以通过查阅阅读器返回的IIOMetadata对象从流中提取这些内容。
有关内置JPEG插件操作的详细信息,请参阅JPEG metadata format specification and usage notes 。
-
-
字段汇总
-
声明的属性在类 javax.imageio.ImageReadParam
canSetSourceRenderSize, destination, destinationBands, minProgressivePass, numProgressivePasses, sourceRenderSize
-
声明的属性在类 javax.imageio.IIOParam
controller, defaultController, destinationOffset, destinationType, sourceBands, sourceRegion, sourceXSubsampling, sourceYSubsampling, subsamplingXOffset, subsamplingYOffset
-
-
构造方法摘要
构造方法 构造器 描述 JPEGImageReadParam()
构造一个JPEGImageReadParam
。
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 boolean
areTablesSet()
如果当前设置了表,则返回true
。JPEGHuffmanTable[]
getACHuffmanTables()
返回最近一次调用时设置的AC Huffman表数组的副本setDecodeTables
,如果当前未设置表,则null
。JPEGHuffmanTable[]
getDCHuffmanTables()
返回最近一次调用setDecodeTables
上设置的DC Huffman表数组的副本,如果当前未设置表,则null
。JPEGQTable[]
getQTables()
返回最近一次调用setDecodeTables
上设置的量化表数组的副本,如果当前未设置表,则null
。void
setDecodeTables(JPEGQTable[] qTables, JPEGHuffmanTable[] DCHuffmanTables, JPEGHuffmanTable[] ACHuffmanTables)
设置量化和Huffman表以用于解码缩写流。void
unsetDecodeTables()
删除当前设置的所有量化和Huffman表。-
声明方法的类 javax.imageio.ImageReadParam
canSetSourceRenderSize, getDestination, getDestinationBands, getSourceMaxProgressivePass, getSourceMinProgressivePass, getSourceNumProgressivePasses, getSourceRenderSize, setDestination, setDestinationBands, setSourceProgressivePasses, setSourceRenderSize
-
声明方法的类 javax.imageio.IIOParam
activateController, getController, getDefaultController, getDestinationOffset, getDestinationType, getSourceBands, getSourceRegion, getSourceXSubsampling, getSourceYSubsampling, getSubsamplingXOffset, getSubsamplingYOffset, hasController, setController, setDestinationOffset, setDestinationType, setSourceBands, setSourceRegion, setSourceSubsampling
-
-
-
-
方法详细信息
-
areTablesSet
public boolean areTablesSet()
如果当前设置了表,则返回true
。- 结果
-
true
如果存在表格。
-
setDecodeTables
public void setDecodeTables(JPEGQTable[] qTables, JPEGHuffmanTable[] DCHuffmanTables, JPEGHuffmanTable[] ACHuffmanTables)
设置量化和Huffman表以用于解码缩写流。 每种类型最多可以有4个表。 一旦在流中遇到表,就会忽略这些表。 所有参数必须为非null
。 两个Huffman表数组必须具有相同数量的元素。 假定流中的帧和扫描头中的表说明符等同于这些数组中的索引。 参数数组由此方法复制。- 参数
-
qTables
- 量化表对象的数组。 -
DCHuffmanTables
- 一组霍夫曼表对象。 -
ACHuffmanTables
- 一组霍夫曼表对象。 - 异常
-
IllegalArgumentException
- 如果任何参数为null
,则具有4个以上的元素,或者DC和AC表的数量不同。 - 另请参见:
-
unsetDecodeTables()
-
unsetDecodeTables
public void unsetDecodeTables()
删除当前设置的所有量化和Huffman表。
-
getQTables
public JPEGQTable[] getQTables()
返回最近一次调用setDecodeTables
或null
如果当前未设置表)时设置的量化表数组的副本。
-
getDCHuffmanTables
public JPEGHuffmanTable[] getDCHuffmanTables()
返回最近一次调用setDecodeTables
上设置的DC Huffman表数组的副本,如果当前未设置表,则null
。- 结果
-
JPEGHuffmanTable
对象的数组,或null
。 - 另请参见:
-
setDecodeTables(javax.imageio.plugins.jpeg.JPEGQTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[])
-
getACHuffmanTables
public JPEGHuffmanTable[] getACHuffmanTables()
返回最近一次调用时设置的AC Huffman表数组的副本setDecodeTables
,如果当前未设置表,则null
。- 结果
-
JPEGHuffmanTable
对象的数组,或null
。 - 另请参见:
-
setDecodeTables(javax.imageio.plugins.jpeg.JPEGQTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[])
-
-