JavaTM 2 Platform
Standard Ed. 6

javax.imageio.plugins.jpeg
類別 JPEGImageReadParam

java.lang.Object
  繼承者 javax.imageio.IIOParam
      繼承者 javax.imageio.ImageReadParam
          繼承者 javax.imageio.plugins.jpeg.JPEGImageReadParam

public class JPEGImageReadParam
extends ImageReadParam

此類別添加了使用內置 JPEG reader 外掛程式時設置 JPEG 量化表和 Huffman 表的能力。此類別的實例將從內置 JPEG ImageReadergetDefaultImageReadParam 方法返回。

這些新增功能的唯一目的是允許在解碼簡寫串流中使用表的規範。內置 JPEG reader 還將接受普通 ImageReadParam,這足以滿足解碼非簡寫串流的需要。

簡寫串流的表常常通過首先讀取另一個僅包含表的簡寫串流來獲取,在有些應用程序中,這些表是提前準備好的。此類別允許直接從客戶端程式碼指定表。如果在串流和 JPEGImageReadParam 中都沒有指定任何表,則假定串流使用“標準”視覺上無損失表。有關預設表的更多資訊,請參見 JPEGQTableJPEGHuffmanTable

內置 JPEG reader 的 getDefaultReadParam 方法返回的預設 JPEGImageReadParam 不包含任何表。預設表可以從表類別 JPEGQTableJPEGHuffmanTable 獲取。

如果串流包含表,則忽略 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 表。
 
從類別 javax.imageio.ImageReadParam 繼承的方法
canSetSourceRenderSize, getDestination, getDestinationBands, getSourceMaxProgressivePass, getSourceMinProgressivePass, getSourceNumProgressivePasses, getSourceRenderSize, setDestination, setDestinationBands, setDestinationType, setSourceProgressivePasses, setSourceRenderSize
 
從類別 javax.imageio.IIOParam 繼承的方法
activateController, getController, getDefaultController, getDestinationOffset, getDestinationType, getSourceBands, getSourceRegion, getSourceXSubsampling, getSourceYSubsampling, getSubsamplingXOffset, getSubsamplingYOffset, hasController, setController, setDestinationOffset, setSourceBands, setSourceRegion, setSourceSubsampling
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

建構子詳細資訊

JPEGImageReadParam

public JPEGImageReadParam()
建構一個 JPEGImageReadParam

方法詳細資訊

areTablesSet

public boolean areTablesSet()
如果表是當前設置的,則返回 true

返回:
如果表存在,則返回 true

setDecodeTables

public void setDecodeTables(JPEGQTable[] qTables,
                            JPEGHuffmanTable[] DCHuffmanTables,
                            JPEGHuffmanTable[] ACHuffmanTables)
設置量化表和 Huffman 表以在解碼簡寫串流中使用。每個型別可能至多有 4 個表。在串流中遇到表後,將忽略這些表。所有參數都必須為非 null。兩個 Huffman 表的陣列必須具有相同的元素數。假定串流中的幀和掃瞄標題的表說明符等效於這些陣列中的索引。使用此方法複製參數陣列。

參數:
qTables - 量化表物件所組成的陣列。
DCHuffmanTables - Huffman 表物件所組成的陣列。
ACHuffmanTables - Huffman 表物件所組成的陣列。
拋出:
IllegalArgumentException - 如果這些參數中的任何一個為 null、具有 4 個以上的元素,或者 DC 和 AC 的表數不同。
另請參見:
unsetDecodeTables()

unsetDecodeTables

public void unsetDecodeTables()
移除當前設置的所有量化表和 Huffman 表。

另請參見:
setDecodeTables(javax.imageio.plugins.jpeg.JPEGQTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[])

getQTables

public JPEGQTable[] getQTables()
返回最近一次調用 setDecodeTables 設置的量化表所組成陣列的一個副本;如果當前沒有設置表,則返回 null

返回:
JPEGQTable 物件所組成的陣列;或者 null
另請參見:
setDecodeTables(javax.imageio.plugins.jpeg.JPEGQTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[])

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()
返回最近一次調用 setDecodeTables 設置的 AC Huffman 表所組成陣列的一個副本;如果當前沒有設置表,則返回 null

返回:
JPEGHuffmanTable 物件所組成的陣列;或者 null
另請參見:
setDecodeTables(javax.imageio.plugins.jpeg.JPEGQTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[])

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only