|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object javax.imageio.ImageWriter
public abstract class ImageWriter
用來編碼和寫入圖像的抽象父級類別。此類別必須由在 Java Image I/O 框架的上下文中寫出圖像的類別為其創建子類別。
通常由特定格式的服務提供者類別對 ImageWriter
物件進行實例化。服務提供者類別在 IIORegistry
中註冊,後者使用前者進行格式識別和表示可用格式 reader 和 writer。
ImageReader
,
ImageWriteParam
,
IIORegistry
,
ImageWriterSpi
欄位摘要 | |
---|---|
protected Locale[] |
availableLocales
可以用來本地化警告訊息和壓縮設置值的 Locale 組成的陣列,如果本地化不受支持,則將它們初始化為 null 。 |
protected Locale |
locale
用於本地化的當前 Locale ,如果沒有設置 Locale,則將它初始化為 null 。 |
protected ImageWriterSpi |
originatingProvider
實例化此物件的 ImageWriterSpi ,如果 ImageWriterSpi 的標識是未知的或不存在,則將此物件實例化為 null 。 |
protected Object |
output
由 setOutput 設置並由 getOutput 獲取的 ImageOutputStream 或其他 Object 。 |
protected List<IIOWriteProgressListener> |
progressListeners
當前已註冊 IIOWriteProgressListener 的 List ,預設情況下將它初始化為 null ,它與空 List 同義。 |
protected List<IIOWriteWarningListener> |
warningListeners
當前已註冊 IIOWriteWarningListener 的 List ,預設情況下將它初始化為 null ,它與空 List 同義。 |
protected List<Locale> |
warningLocales
Locale 的 List ,warningListeners 的每個元素都有一個 Locale 列表,預設情況下該列表被初始化為 null ,它與空 List 同義。 |
建構子摘要 | |
---|---|
protected |
ImageWriter(ImageWriterSpi originatingProvider)
建構一個 ImageWriter ,並將其 originatingProvider 實例變數設置為所提供的值。 |
方法摘要 | |
---|---|
void |
abort()
請求中止任何當前寫入操作。 |
protected boolean |
abortRequested()
如果自從 writer 被實例化或 clearAbortRequest 被調用開始,已經發出中止當前寫入操作的請求,則返回 true 。 |
void |
addIIOWriteProgressListener(IIOWriteProgressListener listener)
將 IIOWriteProgressListener 添加到已註冊的進度偵聽器列表中。 |
void |
addIIOWriteWarningListener(IIOWriteWarningListener listener)
將 IIOWriteWarningListener 添加到已註冊的警告偵聽器的列表中。 |
boolean |
canInsertEmpty(int imageIndex)
如果 writer 支持在給定索引處插入新的空圖像,則返回 true 。 |
boolean |
canInsertImage(int imageIndex)
如果 writer 支持在給定索引處插入新圖像,則返回 true 。 |
boolean |
canRemoveImage(int imageIndex)
如果 writer 支持在給定索引處移除現有圖像,則返回 true 。 |
boolean |
canReplaceImageMetadata(int imageIndex)
如果有可能使用索引 imageIndex 替換與現有圖像有關的圖像元資料,則返回 true 。 |
boolean |
canReplacePixels(int imageIndex)
如果 writer 允許使用 replacePixels 方法替換給定圖像的索引,則返回 true 。 |
boolean |
canReplaceStreamMetadata()
如果有可能替換已存在於輸出中的串流元資料,則返回 true 。 |
boolean |
canWriteEmpty()
如果 writer 支持寫入由單個圖像組成的完整圖像串流,則返回 true ,這些物件帶有要輸出的不確定像素值、有關元資料和縮略圖。 |
boolean |
canWriteRasters()
如果採用 IIOImage 參數的方法能夠處理 Raster (相對於 RenderedImage )源圖像,則返回 true 。 |
boolean |
canWriteSequence()
如果 writer 能夠將圖像添加到已經包含頭資訊和可能的以前圖像的圖像串流中,則返回 true 。 |
protected void |
clearAbortRequest()
清除任何以前的中止請求。 |
abstract IIOMetadata |
convertImageMetadata(IIOMetadata inData,
ImageTypeSpecifier imageType,
ImageWriteParam param)
返回一個 IIOMetadata 物件,該物件可用於編碼,並且可以使用其文檔介面或特定於將用於編碼的 writer 外掛程式的其他介面有選擇地對其進行修改。 |
abstract IIOMetadata |
convertStreamMetadata(IIOMetadata inData,
ImageWriteParam param)
返回一個 IIOMetadata 物件,該物件可用於編碼,並且可以使用其文檔介面或特定於將用於編碼的 writer 外掛程式的其他介面有選擇地對其進行修改。 |
void |
dispose()
允許釋放此物件保存的所有資源。 |
void |
endInsertEmpty()
完成對新圖像的插入,該操作是從以前調用 prepareInsertEmpty 開始的。 |
void |
endReplacePixels()
終止調用 replacePixels 的序列。 |
void |
endWriteEmpty()
完成對新圖像的寫入,該操作是從優先調用 prepareWriteEmpty 開始的。 |
void |
endWriteSequence()
完成以 prepareWriteSequence 開頭的一系列圖像的寫入。 |
Locale[] |
getAvailableLocales()
返回可用來初始化警告偵聽器和壓縮設置的 Locale 組成的陣列。 |
abstract IIOMetadata |
getDefaultImageMetadata(ImageTypeSpecifier imageType,
ImageWriteParam param)
返回包含用來編碼給定型別圖像的預設值的 IIOMetadata 物件。 |
abstract IIOMetadata |
getDefaultStreamMetadata(ImageWriteParam param)
返回包含用來對圖像串流進行編碼的預設值的 IIOMetadata 物件。 |
ImageWriteParam |
getDefaultWriteParam()
返回適用於此檔案格式的適當型別的新 ImageWriteParam 物件,該物件包含預設值,即那些將在沒有指定 ImageWriteParam 物件時使用的值。 |
Locale |
getLocale()
返回當前設置的 Locale ,如果沒有設置 Locale,則返回 null 。 |
int |
getNumThumbnailsSupported(ImageTypeSpecifier imageType,
ImageWriteParam param,
IIOMetadata streamMetadata,
IIOMetadata imageMetadata)
返回受將寫入的格式、給定圖像型別和任何其他 write 參數支持的縮略圖,以及將在編碼期間使用的元資料物件。 |
ImageWriterSpi |
getOriginatingProvider()
返回創建此 ImageWriter 的 ImageWriterSpi 物件,如果此物件不是通過 IIORegistry 創建的,則返回 null 。 |
Object |
getOutput()
返回 ImageOutputStream 或最近一次調用 setOutput 方法設置的其他 Object 如果沒有設置目標,則返回 null 。 |
Dimension[] |
getPreferredThumbnailSizes(ImageTypeSpecifier imageType,
ImageWriteParam param,
IIOMetadata streamMetadata,
IIOMetadata imageMetadata)
返回一個 Dimension 陣列,指示在輸出檔案或串流中進行編碼時合法的縮略圖大小範圍。 |
void |
prepareInsertEmpty(int imageIndex,
ImageTypeSpecifier imageType,
int width,
int height,
IIOMetadata imageMetadata,
List<? extends BufferedImage> thumbnails,
ImageWriteParam param)
從將帶有不確定像素值的新圖像插入現有圖像串流中開始。 |
void |
prepareReplacePixels(int imageIndex,
Rectangle region)
準備好 writer,處理一系列對 replacePixels 方法的調用。 |
void |
prepareWriteEmpty(IIOMetadata streamMetadata,
ImageTypeSpecifier imageType,
int width,
int height,
IIOMetadata imageMetadata,
List<? extends BufferedImage> thumbnails,
ImageWriteParam param)
從寫入完整圖像串流開始,該圖像串流由帶有要輸出的不確定像素值、有關元資料和縮略圖的單個圖像組成。 |
void |
prepareWriteSequence(IIOMetadata streamMetadata)
使用提供的串流元資料物件準備一個串流,以接受一系列的後續 writeToSequence 調用。 |
protected void |
processImageComplete()
通過調用 imageComplete 方法向所有已註冊 IIOWriteProgressListener 廣播圖像寫入的完成。 |
protected void |
processImageProgress(float percentageDone)
通過調用 imageProgress 方法向所有已註冊 IIOWriteProgressListener 廣播圖像完成的當前百分比。 |
protected void |
processImageStarted(int imageIndex)
通過調用 imageStarted 方法向所有已註冊 IIOWriteProgressListener 廣播開始寫入圖像的起始處。 |
protected void |
processThumbnailComplete()
通過調用 thumbnailComplete 方法向所有已註冊 IIOWriteProgressListener 廣播縮略圖寫入的完成。 |
protected void |
processThumbnailProgress(float percentageDone)
通過調用 thumbnailProgress 方法向所有已註冊 IIOWriteProgressListener 廣播縮略圖完成的當前百分比。 |
protected void |
processThumbnailStarted(int imageIndex,
int thumbnailIndex)
通過調用 thumbnailStarted 方法向所有已註冊 IIOWriteProgressListener 廣播縮略圖寫入的起始處。 |
protected void |
processWarningOccurred(int imageIndex,
String warning)
通過調用 warningOccurred 方法向所有已註冊 IIOWriteWarningListener 廣播一條警告訊息。 |
protected void |
processWarningOccurred(int imageIndex,
String baseName,
String keyword)
通過使用取自 ResourceBundle 的字元串調用 warningOccurred 方法來向所有已註冊 IIOWriteWarningListener 廣播一條本地化警告訊息。 |
protected void |
processWriteAborted()
通過調用 readAborted 方法向對所有已註冊 IIOWriteProgressListener 廣播寫入已經中止。 |
void |
removeAllIIOWriteProgressListeners()
移除所有當前已註冊的 IIOWriteProgressListener 物件。 |
void |
removeAllIIOWriteWarningListeners()
移除所有當前已註冊的 IIOWriteWarningListener 物件。 |
void |
removeIIOWriteProgressListener(IIOWriteProgressListener listener)
從已註冊的進度偵聽器列表中移除 IIOWriteProgressListener 。 |
void |
removeIIOWriteWarningListener(IIOWriteWarningListener listener)
從已註冊的警告偵聽器列表中移除 IIOWriteWarningListener 。 |
void |
removeImage(int imageIndex)
從串流中移除圖像。 |
void |
replaceImageMetadata(int imageIndex,
IIOMetadata imageMetadata)
替換與現有圖像有關的圖像元資料。 |
void |
replacePixels(Raster raster,
ImageWriteParam param)
用給定 Raster 部分替換已出現在輸出中的圖像部分。 |
void |
replacePixels(RenderedImage image,
ImageWriteParam param)
用給定圖像部分替換已出現在輸出中的圖像部分。 |
void |
replaceStreamMetadata(IIOMetadata streamMetadata)
使用新資訊替換輸出中的串流元資料。 |
void |
reset()
將 ImageWriter 恢復到其初始狀態。 |
void |
setLocale(Locale locale)
將此 ImageWriter 的當前 Locale 設置為給定值。 |
void |
setOutput(Object output)
將目標設置為給定 ImageOutputStream 或其他 Object 。 |
void |
write(IIOImage image)
將包含帶有預設元資料和縮略圖的單個圖像的完整圖像串流添加到輸出中。 |
abstract void |
write(IIOMetadata streamMetadata,
IIOImage image,
ImageWriteParam param)
添加一個完整的圖像串流,該圖像串流包含一幅圖像、相關的串流、圖像元資料和要輸出的縮略圖。 |
void |
write(RenderedImage image)
將由帶有預設元資料和縮略圖的單個圖像組成的完整圖像串流添加到輸出中。 |
void |
writeInsert(int imageIndex,
IIOImage image,
ImageWriteParam param)
將新的圖像插入現有圖像串流。 |
void |
writeToSequence(IIOImage image,
ImageWriteParam param)
將單幅圖像、可能相關的元資料和縮略圖添加到輸出中。 |
從類別 java.lang.Object 繼承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
欄位詳細資訊 |
---|
protected ImageWriterSpi originatingProvider
ImageWriterSpi
,如果 ImageWriterSpi 的標識是未知的或不存在,則將此物件實例化為 null
。預設情況下,將此物件實例化為 null
。
protected Object output
setOutput
設置並由 getOutput
獲取的 ImageOutputStream
或其他 Object
。預設情況下,將此物件實例化為 null
。
protected Locale[] availableLocales
Locale
組成的陣列,如果本地化不受支持,則將它們初始化為 null
。預設情況下,將它們初始化為 null
。
protected Locale locale
Locale
,如果沒有設置 Locale,則將它初始化為 null
。預設情況下,將 Locale 初始化為 null
。
protected List<IIOWriteWarningListener> warningListeners
IIOWriteWarningListener
的 List
,預設情況下將它初始化為 null
,它與空 List
同義。
protected List<Locale> warningLocales
Locale
的 List
,warningListeners
的每個元素都有一個 Locale 列表,預設情況下該列表被初始化為 null
,它與空 List
同義。
protected List<IIOWriteProgressListener> progressListeners
IIOWriteProgressListener
的 List
,預設情況下將它初始化為 null
,它與空 List
同義。
建構子詳細資訊 |
---|
protected ImageWriter(ImageWriterSpi originatingProvider)
ImageWriter
,並將其 originatingProvider
實例變數設置為所提供的值。
為了獲取擴展物件,利用擴展的子類別應該為建構子提供簽章 (ImageWriterSpi, Object)
。如果擴展物件不合適,則將拋出 IllegalArgumentException
。
originatingProvider
- 建構此物件的 ImageWriterSpi
,或者為 null
。方法詳細資訊 |
---|
public ImageWriterSpi getOriginatingProvider()
ImageWriter
的 ImageWriterSpi
物件,如果此物件不是通過 IIORegistry
創建的,則返回 null
。
預設的實作返回 originatingProvider
實例變數的值。
ImageWriterSpi
或 null
。ImageWriterSpi
public void setOutput(Object output)
ImageOutputStream
或其他 Object
。假定目標已準備接受資料,並將在結束每次寫入時關閉。這允許受干擾的圖像處理應用程序通過單獨的網路連接傳輸一系列圖像。如果 output
為 null
,則將移除所有當前已設置的輸出。
如果 output
是一個 ImageOutputStream
,則調用 write
、writeToSequence
和 prepareWriteEmpty
/endWriteEmpty
方法將保留串流的現有內容。其他寫入方法,比如 writeInsert
、replaceStreamMetadata
、replaceImageMetadata
、replacePixels
、prepareInsertEmpty
/endInsertEmpty
和 endWriteSequence
,要求可讀取和寫入該串流的全部內容,並且可以更改該串流的任何部分。
對於直接與輸出設備或圖像協議交互的 writer,打算使用一般的 Object
,而不是使用 ImageOutputStream
。合法類別集是由 writer 的服務提供者的 getOutputTypes
方法公開的。大多數 writer 將返回一個單個元素組成的陣列,該陣列只包含指示它們只接受 ImageOutputStream
的 ImageOutputStream.class
。
在根據原始提供者(如果有)公開的類別集合檢查 output
之後,預設實作將 output
實例變數設置為 output
的值。
output
- 用於以後的寫入的 ImageOutputStream
或其他 Object
。
IllegalArgumentException
- 如果 output
不是原始服務提供者的 getOutputTypes
方法返回的某個類別的實例。getOutput()
public Object getOutput()
ImageOutputStream
或最近一次調用 setOutput
方法設置的其他 Object
如果沒有設置目標,則返回 null
。
預設實作返回 output
實例變數的值。
setOutput
指定的 Object
,或者返回 null
。setOutput(java.lang.Object)
public Locale[] getAvailableLocales()
Locale
組成的陣列。返回 null
值指示初始化不受支持。
如果 availableLocales
實例變數是非 null
的,則預設實作返回該變數的副本,否則返回 null
。
setLocale
的參數的 Locale
組成的陣列,或者返回 null
。public void setLocale(Locale locale)
ImageWriter
的當前 Locale
設置為給定值。值為 null
則移除所有以前的設置,並指示 writer 應該根據需要對其進行初始化。
預設實作根據 getAvailableLocales
返回的值檢查 locale
,並設置 locale
實例變數(如果尋找到的話)。如果 locale
為 null
,則將該實例變數設置為 null
,不必執行任何檢查。
locale
- 所需的 Locale
,或者為 null
。
IllegalArgumentException
- 如果 locale
為非 null
,但它不是 getAvailableLocales
返回的值之一。getLocale()
public Locale getLocale()
Locale
,如果沒有設置 Locale,則返回 null
。
預設實作返回 locale
實例變數的值。
Locale
或 null
。setLocale(java.util.Locale)
public ImageWriteParam getDefaultWriteParam()
ImageWriteParam
物件,該物件包含預設值,即那些將在沒有指定 ImageWriteParam
物件時使用的值。將此作為只調整少數幾個參數並不管預設設置的起點很有用。
預設設置建構並返回一個新的 ImageWriteParam
物件,該物件不允許平鋪、逐步編碼或壓縮,並且將針對當前 Locale
(即 通過調用 new ImageWriteParam(getLocale())
獲得的 Locale)對該物件進行本地化。
個別外掛程式可能在啟用額外可選特性的情況下返回 ImageWriteParam
的實例,或者它們可以返回 ImageWriteParam
的特定於外掛程式的子類別的實例。
ImageWriteParam
物件。public abstract IIOMetadata getDefaultStreamMetadata(ImageWriteParam param)
IIOMetadata
物件。該物件的內容可以使用由 IIOMetadata.getAsTree
方法返回的 XML 階層樹型結構(一個 IIOMetadataController
物件)來操作,或者通過特定於外掛程式的介面以及提供給某一帶有串流元資料參數的 write
方法的所得資料來操作。
可以對可能影響串流元資料結構的情況提供一個可選的 ImageWriteParam
。
如果所提供的 ImageWriteParam
套件含不受此 writer 支持的可選設置值(例如 逐步編碼或任何特定於格式的設置),則將忽略這些設置。
不使用串流元資料的 writer(例如 用於單一圖像格式的 writer)應該返回 null
。
param
- 將用於對圖像進行編碼的 ImageWriteParam
,或者為 null
。
IIOMetadata
物件。public abstract IIOMetadata getDefaultImageMetadata(ImageTypeSpecifier imageType, ImageWriteParam param)
IIOMetadata
物件。該物件的內容可以使用由 IIOMetadata.getAsTree
方法返回的 XML 階層樹型結構(一個 IIOMetadataController
物件)來操作,或者通過特定於外掛程式的介面以及提供給某一帶有串流元資料參數的 write
方法的所得資料來操作。
可以對可能影響圖像元資料結構的情況提供一個可選的 ImageWriteParam
。
如果所提供的 ImageWriteParam
套件含不受此 writer 支持的可選設置值(例如 逐步編碼或任何特定於格式的設置),則將忽略這些設置。
imageType
- 指示稍後將寫入的圖像格式的 ImageTypeSpecifier
。param
- 將用於對圖像進行編碼的 ImageWriteParam
,或者為 null
。
IIOMetadata
物件。public abstract IIOMetadata convertStreamMetadata(IIOMetadata inData, ImageWriteParam param)
ImageTranscoder
複製的描述IIOMetadata
物件,該物件可用於編碼,並且可以使用其文檔介面或特定於將用於編碼的 writer 外掛程式的其他介面有選擇地對其進行修改。
可以提供一個可選的 ImageWriteParam
,用於其能影響串流元資料的結構的情況。
如果所提供的 ImageWriteParam
套件含可選的、不被此 writer 或 transcoder 理解的設置值,則忽略這些值。
ImageTranscoder
中的 convertStreamMetadata
inData
- 表示串流元資料的 IIOMetadata
物件,用於初始化所返回物件的狀態。param
- 將用於對圖像進行編碼的 ImageWriteParam
,或者為 null
。
IIOMetadata
物件,如果外掛程式沒有提供元資料編碼功能,則返回 null
。public abstract IIOMetadata convertImageMetadata(IIOMetadata inData, ImageTypeSpecifier imageType, ImageWriteParam param)
ImageTranscoder
複製的描述IIOMetadata
物件,該物件可用於編碼,並且可以使用其文檔介面或特定於將用於編碼的 writer 外掛程式的其他介面有選擇地對其進行修改。
可以提供一個可選的 ImageWriteParam
,用於其能影響圖像元資料的結構的情況。
如果所提供的 ImageWriteParam
套件含可選的、不被此 writer 或 transcoder 理解的設置值,則忽略這些值。
ImageTranscoder
中的 convertImageMetadata
inData
- 表示圖像元資料的 IIOMetadata
物件,用於初始化所返回物件的狀態。imageType
- 指示將與元資料關聯的圖像的佈局和顏色資訊的 ImageTypeSpecifier
。param
- 將用於對圖像進行編碼的 ImageWriteParam
,或者為 null
。
IIOMetadata
物件,如果外掛程式沒有提供元資料編碼功能,則返回 null
。public int getNumThumbnailsSupported(ImageTypeSpecifier imageType, ImageWriteParam param, IIOMetadata streamMetadata, IIOMetadata imageMetadata)
-1
值指示可用資訊不足。
可以對可能影響縮略圖處理的情況有選擇地提供 ImageWriteParam
。
如果所提供的 ImageWriteParam
套件含不受此 writer 支持的可選設置值(例如 逐步編碼或任何特定於格式的設置),則將忽略這些設置。
預設實作返回 0。
imageType
- 指示將寫入的圖像型別的 ImageTypeSpecifier
,或者該參數為 null
。param
- 將用於寫入操作的 ImageWriteParam
,或者為 null
。streamMetadata
- 將用於寫入操作的 IIOMetadata
物件,或者為 null
。imageMetadata
- 將用於寫入操作的 IIOMetadata
物件,或者為 null
。
-1
。public Dimension[] getPreferredThumbnailSizes(ImageTypeSpecifier imageType, ImageWriteParam param, IIOMetadata streamMetadata, IIOMetadata imageMetadata)
Dimension
陣列,指示在輸出檔案或串流中進行編碼時合法的縮略圖大小範圍。此資訊只是建議性的;writer 將根據需要重新調整所提供縮略圖的大小。
資訊是作為 pair 的集合返回的;pair 的第一個元素包含最小寬度和高度,第二個元素包含最大寬度和高度。同時,每個 pair 定義一個有效大小範圍。要定義固定大小,將對兩個元素顯示相同的寬度和高度。返回值為 null
指示大小是任意的或未知的。
可以對可能影響縮略圖處理的情況有選擇地提供 ImageWriteParam
。
如果所提供的 ImageWriteParam
套件含不受此 writer 支持的可選設置值(例如 逐步編碼或任何特定於格式的設置),則將忽略這些設置。
預設實作返回 null
。
imageType
- 指示將寫入的圖像型別的 ImageTypeSpecifier
,或者該參數為 null
。param
- 將用於寫入操作的 ImageWriteParam
,或者為 null
。streamMetadata
- 將用於寫入操作的 IIOMetadata
物件,或者為 null
。imageMetadata
- 將用於寫入操作的 IIOMetadata
物件,或者為 null
。
Dimension
組成的陣列,或者返回 null
。public boolean canWriteRasters()
IIOImage
參數的方法能夠處理 Raster
(相對於 RenderedImage
)源圖像,則返回 true
。如果此方法返回 false
,則這些方法將在包含 Raster
的 IIOImage
中拋出一個 UnsupportedOperationException
(如果提供)。
預設實作返回 false
。
Raster
源受支持,則返回 true
。public abstract void write(IIOMetadata streamMetadata, IIOImage image, ImageWriteParam param) throws IOException
ImageOutputStream
,則位於當前尋找位置之前的現有內容不受影響,並且這些內容不必是可讀或可寫的。
必須使用 setOutput
方法提前設置輸出。
串流元資料可以有選擇地提供;如果它為 null
,則使用預設元資料。
如果 canWriteRasters
返回 true
,則 IIOImage
可以包含一個 Raster
源。否則,它必須包含一個 RenderedImage
源。
所提供的縮略圖將被重新調整大小(如果需要),並且超過所支持數量的所有縮略圖都將被忽略。如果該格式需要沒有提供的額外縮略圖,則 writer 應該在內部產生這些縮略圖。
可以有選擇地提供 ImageWriteParam
來控制寫入過程。如果 param
為 null
,則將使用預設 write 參數。
如果所提供的 ImageWriteParam
套件含不受此 writer 支持的可選設置值(例如 逐步編碼或任何特定於格式的設置),則將忽略這些設置。
streamMetadata
- 表示串流元資料的 IIOMetadata
物件,或者為 null
,表示使用預設值。image
- 套件含要寫入的圖像、縮略圖和元資料的 IIOImage
物件。param
- 一個 ImageWriteParam
,或者為 null
,表示使用預設 ImageWriteParam
。
IllegalStateException
- 如果尚未設置輸出。
UnsupportedOperationException
- 如果 image
套件含一個 Raster
,並且 canWriteRasters
返回 false
。
IllegalArgumentException
- 如果 image
為 null
。
IOException
- 如果在寫入過程中發生錯誤。public void write(IIOImage image) throws IOException
write(null, image, null)
的簡略表達方式。
image
- 套件含要寫入的圖像、縮略圖和元資料的 IIOImage
物件。
IllegalStateException
- 如果尚未設置輸出。
IllegalArgumentException
- 如果 image
為 null
。
UnsupportedOperationException
- 如果 image
套件含一個 Raster
,並且 canWriteRasters
返回 false
。
IOException
- 如果在寫入過程中發生錯誤。public void write(RenderedImage image) throws IOException
write(null, new IIOImage(image, null, null), null)
的簡略表達方式。
image
- 要寫入的 RenderedImage
。
IllegalStateException
- 如果尚未設置輸出。
IllegalArgumentException
- 如果 image
為 null
。
IOException
- 如果在寫入過程中發生錯誤。public boolean canWriteSequence()
true
。
如果 canWriteSequence
返回 false
,writeToSequence
和 endWriteSequence
將拋出 UnsupportedOperationException
。
預設實作返回 false
。
true
。public void prepareWriteSequence(IIOMetadata streamMetadata) throws IOException
writeToSequence
調用。如果應該先於圖像資料,則應該將元資料寫入串流中。如果該參數為 null
,則使用預設串流元資料。
如果輸出是一個 ImageOutputStream
,則不刷新位於當前尋找位置之前的輸出的現有內容,並且這些內容不必是可讀或可寫的。如果該格式要求 endWriteSequence
能夠重新修補頭資訊,比如用於單個 TIFF 檔案中的一系列圖像的頭資訊,則此方法寫入的元資料必須仍然位於串流的可寫部分中。其他格式可以在此方法之後和每幅圖像之後刷新串流。
如果 canWriteSequence
返回 false
,則此方法將拋出 UnsupportedOperationException
。
必須使用 setOutput
方法提前設置輸出。
如果輸出為 null
,則預設實作拋出 IllegalStateException
,否則拋出 UnsupportedOperationException
。
streamMetadata
- 一個串流元資料物件,或者為 null
。
IllegalStateException
- 如果尚未設置輸出。
UnsupportedOperationException
- 如果 canWriteSequence
返回 false
。
IOException
- 如果在寫入串流元資料過程中發生錯誤。public void writeToSequence(IIOImage image, ImageWriteParam param) throws IOException
ImageOutputStream
,則可能刷新當前尋找位置之前的輸出的現有內容,並且這些內容不必是可讀的或可寫的,除非外掛程式必須能夠在調用 endWriteSequence
時修補頭資訊( 如果 canWriteSequence
返回 false
,則此方法將拋出 UnsupportedOperationException
。
必須使用 setOutput
方法提前設置輸出。
prepareWriteSequence
必須提前調用,否則將拋出 IllegalStateException
。
如果 canWriteRasters
返回 true
,則 IIOImage
可以包含一個 Raster
源。否則,它必須包含一個 RenderedImage
源。
所提供的縮略圖將被重新調整大小(如果需要),並且超過所支持數量的所有縮略圖都將被忽略。如果該格式需要沒有提供的其他縮略圖,則 writer 將在內部產生這些縮略圖。
可以有選擇地提供 ImageWriteParam
來控制寫入過程。如果 param
為 null
,則將使用預設 write 參數。
如果所提供的 ImageWriteParam
套件含不受此 writer 支持的可選設置值(例如 逐步編碼或任何特定於格式的設置),則將忽略這些設置。
如果輸出為 null
,則預設實作拋出 IllegalStateException
,否則拋出 UnsupportedOperationException
。
image
- 套件含要寫入的圖像、縮略圖和元資料的 IIOImage
物件。param
- 一個 ImageWriteParam
;或者為 null
,表示使用預設 ImageWriteParam
。
IllegalStateException
- 如果沒有設置輸出,或者沒有調用 prepareWriteSequence
。
UnsupportedOperationException
- 如果 canWriteSequence
返回 false
。
IllegalArgumentException
- 如果 image
為 null
。
UnsupportedOperationException
- 如果 image
套件含一個 Raster
,並且 canWriteRasters
返回 false
。
IOException
- 如果寫入過程中發生錯誤。public void endWriteSequence() throws IOException
prepareWriteSequence
開頭的一系列圖像的寫入。應該出現在這一系列圖像的末尾的所有串流元資料都被寫出,如果需要,可修補位於該序列的開始處的任何頭資訊。如果輸出是 ImageOutputStream
,則一直到序列末尾處的串流元資料的那些資料將被刷新,它們不必是可讀的或可寫的。
如果 canWriteSequence
返回 false
,則此方法將拋出 UnsupportedOperationException
。
如果輸出為 null
,則預設實作拋出 IllegalStateException
,否則拋出 UnsupportedOperationException
。
IllegalStateException
- 如果沒有設置輸出,或者沒有調用 prepareWriteSequence
。
UnsupportedOperationException
- 如果 canWriteSequence
返回 false
。
IOException
- 如果在寫入過程中發生錯誤。public boolean canReplaceStreamMetadata() throws IOException
true
。
如果輸出為 null
,則預設實作拋出 IllegalStateException
,否則返回 false
。
true
。
IllegalStateException
- 如果尚未設置輸出。
IOException
- 如果在查詢期間發生 I/O 錯誤。public void replaceStreamMetadata(IIOMetadata streamMetadata) throws IOException
ImageOutputStream
,則檢查該串流以前的內容,並且可能對它們進行編輯,為新的資料騰出空間。該輸出以前的所有內容必須可用於讀取和寫入。
如果 canReplaceStreamMetadata
返回 false
,則將拋出 UnsupportedOperationException
。
如果輸出為 null
,則預設實作拋出 IllegalStateException
,否則拋出 UnsupportedOperationException
。
streamMetadata
- 表示串流元資料的 IIOMetadata
物件;或者為 null
,表示使用預設值。
IllegalStateException
- 如果尚未設置輸出。
UnsupportedOperationException
- 如果 canReplaceStreamMetadata
返回 false
。網要不包括在內
IOException
- 如果寫入期間發生錯誤。public boolean canReplaceImageMetadata(int imageIndex) throws IOException
imageIndex
替換與現有圖像有關的圖像元資料,則返回 true
。如果此方法返回 false
,那麼調用 replaceImageMetadata(imageIndex)
將拋出 UnsupportedOperationException
。
不支持任何圖像元資料替換的 writer 可以返回 false
,而不必對索引執行範圍檢查。
如果輸出為 null
,則預設實作拋出 IllegalStateException
,否則返回 false
,而不必檢查 imageIndex
的值。
imageIndex
- 其元資料將被替換的圖像的索引。
true
。
IllegalStateException
- 如果尚未設置輸出。
IndexOutOfBoundsException
- 如果 writer 在一般情況下支持圖像元資料替換,但 imageIndex
小於 0 或大於最大可用索引。
IOException
- 如果在查詢期間發生 I/O 錯誤。public void replaceImageMetadata(int imageIndex, IIOMetadata imageMetadata) throws IOException
如果 canReplaceImageMetadata(imageIndex)
返回 false
,則將拋出 UnsupportedOperationException
。
如果輸出為 null
,則預設實作拋出 IllegalStateException
,否則拋出 UnsupportedOperationException
。
imageIndex
- 其元資料將被替換的圖像的索引。imageMetadata
- 表示圖像元資料的 IIOMetadata
物件,或者為 null
。
IllegalStateException
- 如果尚未設置輸出。
UnsupportedOperationException
- 如果 canReplaceImageMetadata
返回 false
。
IndexOutOfBoundsException
- 如果 imageIndex
小於 0 或大於最大可用索引。
IOException
- 如果在寫入過程中發生錯誤。public boolean canInsertImage(int imageIndex) throws IOException
true
。索引等於或大於插入索引的現有圖像會將其索引加 1。值為 -1
的 imageIndex
可用於表示大於當前最大索引的索引。
不支持任何圖像插入的 writer 可以返回 false
,而不必對索引執行範圍檢查。
如果輸出為 null
,則預設實作拋出 IllegalStateException
,否則返回 false
,而不必檢查 imageIndex
的值。
imageIndex
- 將在其所在位置處插入圖像的索引。
true
。
IllegalStateException
- 如果尚未設置輸出。
IndexOutOfBoundsException
- 如果 writer 在一般情況下支持圖像插入,但 imageIndex
小於 -1 或大於最大可用索引。
IOException
- 如果在查詢期間發生 I/O 錯誤。public void writeInsert(int imageIndex, IIOImage image, ImageWriteParam param) throws IOException
imageIndex
的現有圖像被保留,其索引均被加 1。為 -1 的 imageIndex
值可用於表示大於以前最大索引的索引;也就是說,它將導致圖像按邏輯添加到序列的末尾。如果輸出是一個 ImageOutputStream
,則整個串流都必須是可讀並且可寫的。
如果 canInsertImage(imageIndex)
返回 false
,則將拋出 UnsupportedOperationException
。
可以有選擇地提供 ImageWriteParam
來控制寫入過程。如果 param
為 null
,則將使用預設 write 參數。
如果所提供的 ImageWriteParam
套件含不受此 writer 支持的可選設置值(例如 逐步編碼或任何特定於格式的設置),則將忽略這些設置。
如果輸出為 null
,則預設實作拋出 IllegalStateException
,否則拋出 UnsupportedOperationException
。
imageIndex
- 將在其所在位置處寫入圖像的索引。image
- 套件含要寫入的圖像、縮略圖和元資料的 IIOImage
物件。param
- 一個 ImageWriteParam
,或者為 null
,表示使用預設 ImageWriteParam
。
IllegalStateException
- 如果尚未設置輸出。
UnsupportedOperationException
- 如果 canInsertImage(imageIndex)
返回 false
。
IllegalArgumentException
- 如果 image
為 null
。
IndexOutOfBoundsException
- 如果 imageIndex
小於 -1 或大於最大可用索引。
UnsupportedOperationException
- 如果 image
套件含一個 Raster
,並且 canWriteRasters
返回 false
。
IOException
- 如果在寫入過程中發生錯誤。public boolean canRemoveImage(int imageIndex) throws IOException
true
。對於索引大於插入索引的圖像,其索引將增加 1。
不支持任何圖像移除的 writer 可以返回 false
,而不必對索引執行範圍檢查。
如果輸出為 null
,則預設實作拋出 IllegalStateException
,否則返回 false
,而不必檢查 imageIndex
的值。
imageIndex
- 要移除的圖像的索引。
true
。
IllegalStateException
- 如果尚未設置輸出。
IndexOutOfBoundsException
- 如果 writer 在一般情況下支持圖像移除,但 imageIndex
小於 0 或大於最大可用索引。
IOException
- 如果在查詢期間發生 I/O 錯誤。public void removeImage(int imageIndex) throws IOException
如果 canRemoveImage(imageIndex)
返回 false,則將拋出 UnsupportedOperationException
。
移除可能導致實際檔案大小減小,也可能不會。
如果輸出為 null
,則預設實作拋出 IllegalStateException
,否則拋出 UnsupportedOperationException
。
imageIndex
- 要移除的圖像的索引。
IllegalStateException
- 如果尚未設置輸出。
UnsupportedOperationException
- 如果 canRemoveImage(imageIndex)
返回 false
。
IndexOutOfBoundsException
- 如果 imageIndex
小於 0 或大於最大可用索引。
IOException
- 如果在移除期間發生 I/O 錯誤。public boolean canWriteEmpty() throws IOException
true
,這些物件帶有要輸出的不確定像素值、有關元資料和縮略圖。像素值可通過以後調用 replacePixels
方法來確定。如果輸出是一個 ImageOutputStream
,則位於當前尋找位置之前的現有內容不受影響,並且這些內容不必是可讀或可寫的。
如果輸出為 null
,則預設實作拋出 IllegalStateException
,否則返回 false
。
true
。
IllegalStateException
- 如果尚未設置輸出。
IOException
- 如果在查詢期間發生 I/O 錯誤。public void prepareWriteEmpty(IIOMetadata streamMetadata, ImageTypeSpecifier imageType, int width, int height, IIOMetadata imageMetadata, List<? extends BufferedImage> thumbnails, ImageWriteParam param) throws IOException
replacePixels
方法來確定。如果輸出是一個 ImageOutputStream
,則位於當前尋找位置之前的現有內容不受影響,並且這些內容不必是可讀或可寫的。
直到調用 endWriteEmpty
才完成寫入操作。調用 prepareReplacePixels
、replacePixels
和 endReplacePixels
可能發生在調用 prepareWriteEmpty
和 endWriteEmpty
之間。不過,調用 prepareWriteEmpty
是不可巢狀的,調用 prepareWriteEmpty
和 prepareInsertEmpty
不能被散置。
如果 canWriteEmpty
返回 false
,則將拋出 UnsupportedOperationException
。
可以有選擇地提供 ImageWriteParam
來控制寫入過程。如果 param
為 null
,則將使用預設 write 參數。
如果所提供的 ImageWriteParam
套件含不受此 writer 支持的可選設置值(例如 逐步編碼或任何特定於格式的設置),則將忽略這些設置。
如果輸出為 null
,則預設實作拋出 IllegalStateException
,否則拋出 UnsupportedOperationException
。
streamMetadata
- 表示串流元資料的 IIOMetadata
物件;或者為 null
,表示使用預設值。imageType
- 描述圖像佈局的 ImageTypeSpecifier
。width
- 圖像的寬度。height
- 圖像的高度。imageMetadata
- 表示圖像元資料的 IIOMetadata
物件,或者為 null
。thumbnails
- 此圖像的 BufferedImage
縮略圖的 List
,或者為 null
。param
- 一個 ImageWriteParam
,或者為 null
,表示使用預設 ImageWriteParam
。
IllegalStateException
- 如果尚未設置輸出。
UnsupportedOperationException
- 如果 canWriteEmpty
返回 false
。
IllegalStateException
- 如果以前已經調用 prepareWriteEmpty
,但沒有相應地調用 endWriteEmpty
。
IllegalStateException
- 如果以前已經調用 prepareInsertEmpty
,但沒有相應地調用 endInsertEmpty
。
IllegalArgumentException
- 如果 imageType
為 null
,或者 thumbnails
套件含 null
參考或物件,而不是 BufferedImage
。
IllegalArgumentException
- 如果寬度或高度小於 1。
IOException
- 如果在寫期間發生 I/O 錯誤。public void endWriteEmpty() throws IOException
prepareWriteEmpty
開始的。
如果 canWriteEmpty()
返回 false
,則將拋出 UnsupportedOperationException
。
如果輸出為 null
,則預設實作拋出 IllegalStateException
,否則拋出 UnsupportedOperationException
。
IllegalStateException
- 如果尚未設置輸出。
UnsupportedOperationException
- 如果 canWriteEmpty(imageIndex)
返回 false
。
IllegalStateException
- 如果以前已經調用 prepareWriteEmpty
,但沒有相應地調用 endWriteEmpty
。
IllegalStateException
- 如果以前已經調用 prepareInsertEmpty
,但沒有相應地調用 endInsertEmpty
。
IllegalStateException
- 如果以前已經調用 prepareReiplacePixels
,但沒有相應地調用 endReplacePixels
。
IOException
- 如果在寫入期間發生 I/O 錯誤。public boolean canInsertEmpty(int imageIndex) throws IOException
true
。圖像的像素值是不確定的,並且可以使用 replacePixels
方法各個部分地指定它們。索引等於或大於插入索引的現有圖像會將其索引加 1。值為 -1
的 imageIndex
可用於表示大於當前最大索引的索引。
不支持插入空圖像的 writer 可以返回 false
,而不必對索引執行範圍檢查。
如果輸出為 null
,則預設實作拋出 IllegalStateException
,否則返回 false
,而不必檢查 imageIndex
的值。
imageIndex
- 將在其所在位置處插入圖像的索引。
true
。
IllegalStateException
- 如果尚未設置輸出。
IndexOutOfBoundsException
- 如果 writer 在一般情況下支持插入空圖像,但 imageIndex
小於 -1 或大於最大可用索引。
IOException
- 如果在查詢期間發生 I/O 錯誤。public void prepareInsertEmpty(int imageIndex, ImageTypeSpecifier imageType, int width, int height, IIOMetadata imageMetadata, List<? extends BufferedImage> thumbnails, ImageWriteParam param) throws IOException
imageIndex
的現有圖像被保留,其索引均被加 1。為 -1 的 imageIndex
值可用於表示大於以前最大索引的索引;也就是說,它將導致圖像按邏輯添加到序列的末尾。如果輸出是一個 ImageOutputStream
,則整個串流都必須是可讀並且可寫的。
圖像內容可由稍後使用的 replacePixels
方法提供。直到調用 endInsertEmpty
才完成插入操作。調用 prepareReplacePixels
、replacePixels
和 endReplacePixels
可能發生在調用 prepareInsertEmpty
和 endInsertEmpty
之間。不過,調用 prepareInsertEmpty
是不可巢狀的,調用 prepareWriteEmpty
和 prepareInsertEmpty
不能被散置。
如果 canInsertEmpty(imageIndex)
返回 false
,則將拋出 UnsupportedOperationException
。
可以有選擇地提供 ImageWriteParam
來控制寫入過程。如果 param
為 null
,則將使用預設 write 參數。
如果所提供的 ImageWriteParam
套件含不受此 writer 支持的可選設置值(例如 逐步編碼或任何特定於格式的設置),則將忽略這些設置。
如果輸出為 null
,則預設實作拋出 IllegalStateException
,否則拋出 UnsupportedOperationException
。
imageIndex
- 將在其所在位置處寫入圖像的索引。imageType
- 描述圖像佈局的 ImageTypeSpecifier
。width
- 圖像的寬度。height
- 圖像的高度。imageMetadata
- 表示圖像元資料的 IIOMetadata
物件,或者為 null
。thumbnails
- 此圖像的 BufferedImage
縮略圖的 List
,或者為 null
。param
- 一個 ImageWriteParam
,或者為 null
,表示使用預設 ImageWriteParam
。
IllegalStateException
- 如果尚未設置輸出。
UnsupportedOperationException
- 如果 canInsertEmpty(imageIndex)
返回 false
。
IndexOutOfBoundsException
- 如果 imageIndex
小於 -1 或大於最大可用索引。
IllegalStateException
- 如果以前已經調用 prepareInsertEmpty
,但沒有相應地調用 endInsertEmpty
。
IllegalStateException
- 如果以前已經調用 prepareWriteEmpty
,但沒有相應地調用 endWriteEmpty
。
IllegalArgumentException
- 如果 imageType
為 null
,或者 thumbnails
套件含 null
參考或物件,而不是 BufferedImage
。
IllegalArgumentException
- 如果寬度或高度小於 1。
IOException
- 如果在寫期間發生 I/O 錯誤。public void endInsertEmpty() throws IOException
prepareInsertEmpty
開始的。
如果輸出為 null
,則預設實作拋出 IllegalStateException
,否則拋出 UnsupportedOperationException
。
IllegalStateException
- 如果尚未設置輸出。
UnsupportedOperationException
- 如果 canInsertEmpty(imageIndex)
返回 false
。
IllegalStateException
- 如果以前已經調用 prepareInsertEmpty
,但沒有相應地調用 endInsertEmpty
。
IllegalStateException
- 如果以前已經調用 prepareWriteEmpty
,但沒有相應地調用 endWriteEmpty
。
IllegalStateException
- 如果以前已經調用 prepareReplacePixels
,但沒有相應地調用 endReplacePixels
。
IOException
- 如果在寫入期間發生 I/O 錯誤。public boolean canReplacePixels(int imageIndex) throws IOException
replacePixels
方法替換給定圖像的索引,則返回 true
。
不支持任何像素替換的 writer 可以返回 false
,而不必對索引執行範圍檢查。
如果輸出為 null
,則預設實作拋出 IllegalStateException
,否則返回 false
,而不必檢查 imageIndex
的值。
imageIndex
- 其像素將被替換的圖像的索引。
true
。
IllegalStateException
- 如果尚未設置輸出。
IndexOutOfBoundsException
- 如果 writer 在一般情況下支持像素替換,但 imageIndex
小於 0 或大於最大可用索引。
IOException
- 如果在查詢期間發生 I/O 錯誤。public void prepareReplacePixels(int imageIndex, Rectangle region) throws IOException
replacePixels
方法的調用。將根據所提供的資料來剪切受影響的像素區域。
如果 canReplacePixels
返回 false
,則將拋出 UnsupportedOperationException
。
如果輸出為 null
,則預設實作拋出 IllegalStateException
,否則拋出 UnsupportedOperationException
。
imageIndex
- 其像素將被替換的圖像的索引。region
- 將用來剪切將來的像素區域的 Rectangle
。
IllegalStateException
- 如果尚未設置輸出。
UnsupportedOperationException
- 如果 canReplacePixels(imageIndex)
返回 false
。
IndexOutOfBoundsException
- 如果 imageIndex
小於 0 或大於最大可用索引。
IllegalStateException
- 如果以前調用了 prepareReplacePixels
但沒有相應地調用 endReplacePixels
(也就是說 不允許進行巢狀)。
IllegalArgumentException
- 如果 region
為 null
或者寬度或高度小於 1。
IOException
- 如果在準備期間發生 I/O 錯誤。public void replacePixels(RenderedImage image, ImageWriteParam param) throws IOException
目標區域是在 param
參數中指定的,並且將被剪切成圖像邊界和提供給 prepareReplacePixels
的區域。至少有一個源像素不能剪切,否則拋出一個異常。
可以有選擇地提供 ImageWriteParam
來控制寫入過程。如果 param
為 null
,則將使用預設 write 參數。
如果所提供的 ImageWriteParam
套件含不受此 writer 支持的可選設置值(例如 逐步編碼或任何特定於格式的設置),則將忽略這些設置。
此方法只能在調用 prepareReplacePixels
之後調用,否則將拋出 IllegalStateException
。
如果輸出為 null
,則預設實作拋出 IllegalStateException
,否則拋出 UnsupportedOperationException
。
image
- 一個套件含源像素的 RenderedImage
。param
- 一個 ImageWriteParam
,或者為 null
,表示使用預設 ImageWriteParam
。
IllegalStateException
- 如果尚未設置輸出。
UnsupportedOperationException
- 如果 canReplacePixels(imageIndex)
返回 false
。
IllegalStateException
- 如果在以前調用 prepareReplacePixels
時沒有相應地調用 endReplacePixels
。
IllegalArgumentException
- 如果以下任意一項為 true:
image
為 null
。
param
為 null
。
image
的佈局與現有圖像佈局不比對,或者此 writer 無法將它轉換成現有圖像佈局。
IOException
- 如果在寫入期間發生 I/O 錯誤。public void replacePixels(Raster raster, ImageWriteParam param) throws IOException
Raster
部分替換已出現在輸出中的圖像部分。圖像資料必須比對,或者可轉化為現有圖像佈局。
可以有選擇地提供 ImageWriteParam
來控制寫入過程。如果 param
為 null
,則將使用預設 write 參數。
目標區域是在 param
參數中指定的,並且將被剪切成圖像邊界和提供給 prepareReplacePixels
的區域。至少有一個源像素不能剪切,否則拋出一個異常。
如果所提供的 ImageWriteParam
套件含不受此 writer 支持的可選設置值(例如 逐步編碼或任何特定於格式的設置),則將忽略這些設置。
此方法只能在調用 prepareReplacePixels
之後調用,否則將拋出 IllegalStateException
。
如果輸出為 null
,則預設實作拋出 IllegalStateException
,否則拋出 UnsupportedOperationException
。
raster
- 一個套件含源像素的 Raster
。param
- 一個 ImageWriteParam
,或者為 null
,表示使用預設 ImageWriteParam
。
IllegalStateException
- 如果尚未設置輸出。
UnsupportedOperationException
- 如果 canReplacePixels(imageIndex)
返回 false
。
IllegalStateException
- 如果在以前調用 prepareReplacePixels
時沒有相應地調用 endReplacePixels
。
UnsupportedOperationException
- 如果 canWriteRasters
返回 false
。
IllegalArgumentException
- 如果以下任意一項為 true:
raster
為 null
。
param
為 null
。
raster
的佈局與現有圖像佈局不比對,或者此 writer 無法將它轉換成現有圖像佈局。
IOException
- 如果在寫入期間發生 I/O 錯誤。public void endReplacePixels() throws IOException
replacePixels
的序列。
如果 canReplacePixels
返回 false
,則將拋出 UnsupportedOperationException
。
如果輸出為 null
,則預設實作拋出 IllegalStateException
,否則拋出 UnsupportedOperationException
。
IllegalStateException
- 如果尚未設置輸出。
UnsupportedOperationException
- 如果 canReplacePixels(imageIndex)
返回 false
。
IllegalStateException
- 如果在以前調用 prepareReplacePixels
時沒有相應地調用 endReplacePixels
。
IOException
- 如果在寫入期間發生 I/O 錯誤。public void abort()
weader 應該在開始每個寫入操作時調用 clearAbortRequest
,並在寫入期間定期輪詢 abortRequested
的值。
protected boolean abortRequested()
clearAbortRequest
被調用開始,已經發出中止當前寫入操作的請求,則返回 true
。
true
。abort()
,
clearAbortRequest()
protected void clearAbortRequest()
abortRequested
將返回 false
。
abort()
,
abortRequested()
public void addIIOWriteWarningListener(IIOWriteWarningListener listener)
IIOWriteWarningListener
添加到已註冊的警告偵聽器的列表中。如果 listener
為 null
,則不會拋出異常並且不執行操作。發送到給定偵聽器的訊息將被初始化,如果有可能,會將該訊息與當前 Locale
比對。如果沒有設置 Locale
,則可將警告訊息初始化為 writer 認為合適的形式。
listener
- 要註冊的 IIOWriteWarningListener
。removeIIOWriteWarningListener(javax.imageio.event.IIOWriteWarningListener)
public void removeIIOWriteWarningListener(IIOWriteWarningListener listener)
IIOWriteWarningListener
。如果以前沒有註冊偵聽器,或者 listener
為 null
,則不會拋出異常並且不執行操作。
listener
- 要取消註冊的 IIOWriteWarningListener
。addIIOWriteWarningListener(javax.imageio.event.IIOWriteWarningListener)
public void removeAllIIOWriteWarningListeners()
IIOWriteWarningListener
物件。
預設實作將 warningListeners
和 warningLocales
實例變數設置為 null
。
public void addIIOWriteProgressListener(IIOWriteProgressListener listener)
IIOWriteProgressListener
添加到已註冊的進度偵聽器列表中。如果 listener
為 null
,則不會拋出異常並且不執行操作。
listener
- 要註冊的 IIOWriteProgressListener
。removeIIOWriteProgressListener(javax.imageio.event.IIOWriteProgressListener)
public void removeIIOWriteProgressListener(IIOWriteProgressListener listener)
IIOWriteProgressListener
。如果以前沒有註冊偵聽器,或者 listener
為 null
,則不會拋出異常並且不執行操作。
listener
- 要取消註冊的 IIOWriteProgressListener
。addIIOWriteProgressListener(javax.imageio.event.IIOWriteProgressListener)
public void removeAllIIOWriteProgressListeners()
IIOWriteProgressListener
物件。
預設實作將 progressListeners
實例變數設置為 null
。
protected void processImageStarted(int imageIndex)
imageStarted
方法向所有已註冊 IIOWriteProgressListener
廣播開始寫入圖像的起始處。子類別可以將此方法用作一個便捷方法。
imageIndex
- 即將寫入的圖像的索引。protected void processImageProgress(float percentageDone)
imageProgress
方法向所有已註冊 IIOWriteProgressListener
廣播圖像完成的當前百分比。子類別可以將此方法用作一個便捷方法。
percentageDone
- float
值形式的當前完整的百分比。protected void processImageComplete()
imageComplete
方法向所有已註冊 IIOWriteProgressListener
廣播圖像寫入的完成。子類別可以將此方法用作一個便捷方法。
protected void processThumbnailStarted(int imageIndex, int thumbnailIndex)
thumbnailStarted
方法向所有已註冊 IIOWriteProgressListener
廣播縮略圖寫入的起始處。子類別可以將此方法用作一個便捷方法。
imageIndex
- 與該縮略圖有關的圖像的索引。thumbnailIndex
- 縮略圖的索引。protected void processThumbnailProgress(float percentageDone)
thumbnailProgress
方法向所有已註冊 IIOWriteProgressListener
廣播縮略圖完成的當前百分比。子類別可以將此方法用作一個便捷方法。
percentageDone
- float
值形式的當前完整的百分比。protected void processThumbnailComplete()
thumbnailComplete
方法向所有已註冊 IIOWriteProgressListener
廣播縮略圖寫入的完成。子類別可以將此方法用作一個便捷方法。
protected void processWriteAborted()
readAborted
方法向對所有已註冊 IIOWriteProgressListener
廣播寫入已經中止。子類別可以將此方法用作一個便捷方法。
protected void processWarningOccurred(int imageIndex, String warning)
warningOccurred
方法向所有已註冊 IIOWriteWarningListener
廣播一條警告訊息。子類別可以將此方法用作一個便捷方法。
imageIndex
- 與發生的警告有關的圖像的索引。warning
- 警告訊息。
IllegalArgumentException
- 如果 warning
為 null
。protected void processWarningOccurred(int imageIndex, String baseName, String keyword)
ResourceBundle
的字元串調用 warningOccurred
方法來向所有已註冊 IIOWriteWarningListener
廣播一條本地化警告訊息。子類別可以將此方法用作一個便捷方法。
imageIndex
- 與發生的警告有關的圖像的索引。baseName
- 一組包含本地化警告訊息的 ResourceBundle
的基本名稱。keyword
- 用來為 ResourceBundle
集合中的警告訊息建立索引的關鍵字。
IllegalArgumentException
- 如果 baseName
為 null
。
IllegalArgumentException
- 如果 keyword
為 null
。
IllegalArgumentException
- 如果無法找到合適的 ResourceBundle
。
IllegalArgumentException
- 如果在定位的 ResourceBundle
中無法找到指定的資源。
IllegalArgumentException
- 如果從 ResourceBundle
中獲取的物件不是一個 String
。public void reset()
ImageWriter
恢復到其初始狀態。
預設實作調用 setOutput(null)
、setLocale(null)
、removeAllIIOWriteWarningListeners()
、removeAllIIOWriteProgressListeners()
和 clearAbortRequest
。
public void dispose()
finalize
)以及對此方法的後續調用的結果都是不確定的。
對應用程序而言,在知道它們不再使用此 ImageWriter
時,調用此方法非常重要。否則,writer 可能繼續無限期地保存這些資源。
在父級類別中,此方法的預設實作不執行任何操作。子類別實作應該確保所有資源(特別是本機資源)被釋放。
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。