java.lang.Object javax.imageio.IIOParam javax.imageio.ImageReadParam javax.imageio.plugins.jpeg.JPEGImageReadParam
public class JPEGImageReadParam
此类添加了使用内置 JPEG reader 插件时设置 JPEG 量化表和 Huffman 表的能力。此类的实例将从内置 JPEG ImageReader
的 getDefaultImageReadParam
方法返回。
这些新增功能的唯一目的是允许在解码简写流中使用表的规范。内置 JPEG reader 还将接受普通 ImageReadParam
,这足以满足解码非简写流的需要。
简写流的表常常通过首先读取另一个仅包含表的简写流来获取,在有些应用程序中,这些表是提前准备好的。此类允许直接从客户端代码指定表。如果在流和 JPEGImageReadParam
中都没有指定任何表,则假定流使用“标准”视觉上无损失表。有关默认表的更多信息,请参见
和 JPEGQTable
。 JPEGHuffmanTable
内置 JPEG reader 的 getDefaultReadParam
方法返回的默认 JPEGImageReadParam
不包含任何表。默认表可以从表类
和 JPEGQTable
获取。 JPEGHuffmanTable
如果流包含表,则忽略 JPEGImageReadParam
中给定的表。此外,如果流中的第一个图像包含表而后续图像不包含表,则在第一个图像中给定的表将用于所有简写图像。从流中读取表后,只有从相同流中后续读取的表才能重写它们。要指定新表,必须调用 reader 的
方法来更改流。 setInput
注意,此类不提供用来获取流中的表的方法。可以通过考虑使用 reader 返回的 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() 返回最近一次调用 setDecodeTables 设置的 AC Huffman 表所组成数组的一个副本;如果当前没有设置表,则返回 null 。 |
JPEGHuffmanTable[] |
getDCHuffmanTables() 返回最近一次调用 setDecodeTables 设置的 DC Huffman 表所组成数组的一个副本;如果当前没有设置表,则返回 null 。 |
JPEGQTable[] |
getQTables() 返回最近一次调用 setDecodeTables 设置的量化表所组成数组的一个副本;如果当前没有设置表,则返回 null 。 |
void |
setDecodeTables(JPEGQTable[] qTables, JPEGHuffmanTable[] DCHuffmanTables, JPEGHuffmanTable[] ACHuffmanTables) 设置量化表和 Huffman 表以在解码简写流中使用。 |
void |
unsetDecodeTables() 移除当前设置的所有量化表和 Huffman 表。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
构造方法详细信息 |
---|
public JPEGImageReadParam()
JPEGImageReadParam
。
方法详细信息 |
---|
public boolean areTablesSet()
true
。
true
。
public void setDecodeTables(JPEGQTable[] qTables, JPEGHuffmanTable[] DCHuffmanTables, JPEGHuffmanTable[] ACHuffmanTables)
null
。两个 Huffman 表的数组必须具有相同的元素数。假定流中的帧和扫描标题的表说明符等效于这些数组中的索引。使用此方法复制参数数组。
qTables
- 量化表对象所组成的数组。
DCHuffmanTables
- Huffman 表对象所组成的数组。
ACHuffmanTables
- Huffman 表对象所组成的数组。
IllegalArgumentException
- 如果这些参数中的任何一个为
null
、具有 4 个以上的元素,或者 DC 和 AC 的表数不同。
unsetDecodeTables()
public void unsetDecodeTables()
public JPEGQTable[] getQTables()
setDecodeTables
设置的量化表所组成数组的一个副本;如果当前没有设置表,则返回
null
。
JPEGQTable
对象所组成的数组;或者
null
。
setDecodeTables(javax.imageio.plugins.jpeg.JPEGQTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[])
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[])
public JPEGHuffmanTable[] getACHuffmanTables()
setDecodeTables
设置的 AC Huffman 表所组成数组的一个副本;如果当前没有设置表,则返回
null
。
JPEGHuffmanTable
对象所组成的数组;或者
null
。
setDecodeTables(javax.imageio.plugins.jpeg.JPEGQTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[])