java.lang.Object
javax.imageio.IIOParam
javax.imageio.ImageReadParam
javax.imageio.plugins.jpeg.JPEGImageReadParam
此类添加了在使用内置 JPEG 阅读器插件时设置 JPEG 量化和霍夫曼表的功能。此类的实例将从内置 JPEG
ImageReader
的 getDefaultImageReadParam
方法返回。
这些添加的唯一目的是允许指定用于解码缩略流的表。内置的 JPEG 阅读器也将接受普通的 ImageReadParam
,这足以解码非缩写流。
虽然缩略流的表通常是通过首先读取另一个仅包含表的缩略流来获得的,但在某些应用程序中,表是提前固定的。此类允许直接从客户端代码指定表。如果在流或 JPEGImageReadParam
中未指定表,则假定流使用“标准”视觉无损表。有关默认表的更多信息,请参阅 JPEGQTable
和 JPEGHuffmanTable
。
内置 JPEG 阅读器的 getDefaultReadParam
方法返回的默认 JPEGImageReadParam
不包含任何表格。默认表可以从表类 JPEGQTable
和 JPEGHuffmanTable
中获得。
如果流确实包含表,则忽略 JPEGImageReadParam
中给出的表。此外,如果流中的第一个图像确实包含表格而后续图像不包含表格,则第一个图像中给出的表格将用于所有缩略图像。从流中读取表后,它们只能被随后从同一流中读取的表覆盖。为了指定新表,必须调用读取器的setInput
方法来更改流。
请注意,此类不提供获取流中找到的表的方法。这些可以通过查询读取器返回的 IIOMetadata 对象从流中提取。
有关内置 JPEG 插件操作的更多信息,请参阅 JPEG 元数据格式规范和使用说明。
-
字段摘要
在类 javax.imageio.ImageReadParam 中声明的字段
canSetSourceRenderSize, destination, destinationBands, minProgressivePass, numProgressivePasses, sourceRenderSize
在类 javax.imageio.IIOParam 中声明的字段
controller, defaultController, destinationOffset, destinationType, sourceBands, sourceRegion, sourceXSubsampling, sourceYSubsampling, subsamplingXOffset, subsamplingYOffset
-
构造方法总结
构造方法 -
方法总结
修饰符和类型方法描述boolean
如果当前设置了表格,则返回true
。返回最近一次调用setDecodeTables
或null
(如果当前未设置表)时设置的 AC 霍夫曼表数组的副本。返回最近调用setDecodeTables
时设置的 DC Huffman 表数组的副本,如果当前未设置表,则返回null
。返回最近一次调用setDecodeTables
或null
(如果当前未设置表)时设置的量化表数组的副本。void
setDecodeTables
(JPEGQTable[] qTables, JPEGHuffmanTable[] DCHuffmanTables, JPEGHuffmanTable[] ACHuffmanTables) 设置量化和霍夫曼表以用于解码缩略流。void
删除当前设置的任何量化和霍夫曼表。在类 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
-
构造方法详细信息
-
JPEGImageReadParam
public JPEGImageReadParam()构造一个JPEGImageReadParam
-
-
方法详情
-
areTablesSet
public boolean areTablesSet()如果当前设置了表格,则返回true
。- 返回:
true
如果表存在。
-
setDecodeTables
public void setDecodeTables(JPEGQTable [] qTables, JPEGHuffmanTable [] DCHuffmanTables, JPEGHuffmanTable [] ACHuffmanTables) 设置量化和霍夫曼表以用于解码缩略流。每种类型最多可以有 4 个表。一旦在流中遇到表,这些表将被忽略。所有参数都必须是非null
。霍夫曼表的两个数组必须具有相同数量的元素。帧中的表说明符和流中的扫描标头被假定为等同于这些数组中的索引。参数数组由此方法复制。- 参数:
qTables
- 量化表对象数组。DCHuffmanTables
- 霍夫曼表对象数组。ACHuffmanTables
- 霍夫曼表对象数组。- 抛出:
IllegalArgumentException
- 如果任何参数是null
,有超过 4 个元素,或者 DC 和 AC 表的数量不同。- 参见:
-
unsetDecodeTables
public void unsetDecodeTables()删除当前设置的任何量化和霍夫曼表。- 参见:
-
getQTables
返回最近一次调用setDecodeTables
或null
(如果当前未设置表)时设置的量化表数组的副本。- 返回:
JPEGQTable
对象数组,或null
。- 参见:
-
getDCHuffmanTables
返回最近调用setDecodeTables
时设置的 DC Huffman 表数组的副本,如果当前未设置表,则返回null
。- 返回:
JPEGHuffmanTable
对象数组,或null
。- 参见:
-
getACHuffmanTables
返回最近一次调用setDecodeTables
或null
(如果当前未设置表)时设置的 AC 霍夫曼表数组的副本。- 返回:
JPEGHuffmanTable
对象数组,或null
。- 参见:
-