Prev Class | Next Class | Frames | No Frames |
Summary: Nested | Field | Method | Constr | Detail: Nested | Field | Method | Constr |
java.lang.Object
javax.imageio.ImageWriter
Field Summary | |
protected Locale[] |
|
protected Locale |
|
protected ImageWriterSpi |
|
protected Object |
|
protected List |
|
protected List |
|
protected List |
|
Constructor Summary | |
|
Method Summary | |
void |
|
protected boolean |
|
void |
|
void |
|
boolean |
|
boolean |
|
boolean |
|
boolean |
|
boolean |
|
boolean |
|
boolean |
|
boolean |
|
boolean |
|
protected void |
|
abstract IIOMetadata |
|
abstract IIOMetadata |
|
void |
|
void |
|
void |
|
void |
|
void |
|
Locale[] |
|
abstract IIOMetadata |
|
abstract IIOMetadata |
|
ImageWriteParam |
|
Locale |
|
int |
|
ImageWriterSpi |
|
Object |
|
Dimension[] |
|
void |
|
void |
|
void |
|
void |
|
protected void |
|
protected void |
|
protected void |
|
protected void |
|
protected void |
|
protected void |
|
protected void |
|
protected void |
|
protected void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void | |
void | |
void |
|
void | |
abstract void |
|
void |
|
void |
|
Methods inherited from class java.lang.Object | |
clone , equals , extends Object> getClass , finalize , hashCode , notify , notifyAll , toString , wait , wait , wait |
protected Locale[] availableLocales
All locales available for localization of warning messages, or null if localization is not supported.
protected Locale locale
The current locale used to localize warning messages, or null if no locale has been set.
protected ImageWriterSpi originatingProvider
The image writer SPI that instantiated this writer.
protected ListprogressListeners
A list of installed progress listeners. Initially null, meaning no installed listeners.
protected ListwarningListeners
A list of installed warning listeners. Initially null, meaning no installed listeners.
protected ListwarningLocales
A list of warning locales corresponding with the list of installed warning listeners. Initially null, meaning no locales.
protected ImageWriter(ImageWriterSpi originatingProvider)
Construct an image writer.
- Parameters:
originatingProvider
- the provider that is constructing this image writer, or null
public void abort()
Request that writing be aborted. The unwritten portions of the destination image will be undefined. Writers should clear the abort flag before starting a write operation, then poll it periodically during the write operation.
protected boolean abortRequested()
Check if the abort flag is set.
- Returns:
- true if the current write operation should be aborted, false otherwise
public void addIIOWriteProgressListener(IIOWriteProgressListener listener)
Install a write progress listener. This method will return immediately if listener is null.
- Parameters:
listener
- a write progress listener or null
public void addIIOWriteWarningListener(IIOWriteWarningListener listener)
Install a write warning listener. This method will return immediately if listener is null. Warning messages sent to this listener will be localized using the current locale. If the current locale is null then this writer will select a sensible default.
- Parameters:
listener
- a write warning listener
public boolean canInsertEmpty(int imageIndex) throws IOException
Check whether a new empty image can be inserted at the given frame index. Pixel values may be filled in later using the replacePixels methods. Indices greater than the insertion index will be incremented. If imageIndex is -1, the image will be appended at the end of the current image list.
- Parameters:
imageIndex
- the frame index
- Returns:
- true if an empty image can be inserted at imageIndex, false otherwise
- Throws:
IllegalStateException
- if output is nullIndexOutOfBoundsException
- if imageIndex is less than -1 or greater than the last index in the current image listIOException
- if a write error occurs
public boolean canInsertImage(int imageIndex) throws IOException
Check whether an image can be inserted at the given frame index. Indices greater than the insertion index will be incremented. If imageIndex is -1, the image will be appended at the end of the current image list.
- Parameters:
imageIndex
- the frame index
- Returns:
- true if an image can be inserted at imageIndex, false otherwise
- Throws:
IllegalStateException
- if output is nullIndexOutOfBoundsException
- if imageIndex is less than -1 or greater than the last index in the current image listIOException
- if a write error occurs
public boolean canRemoveImage(int imageIndex) throws IOException
Check whether an image can be removed from the given frame index. Indices greater than the removal index will be decremented.
- Parameters:
imageIndex
- the frame index
- Returns:
- true if an image can be removed from imageIndex, false otherwise
- Throws:
IllegalStateException
- if output is nullIndexOutOfBoundsException
- if imageIndex is less than 0 or greater than the last index in the current image listIOException
- if a write error occurs
public boolean canReplaceImageMetadata(int imageIndex) throws IOException
Check whether the metadata associated the image at the given frame index can be replaced.
- Parameters:
imageIndex
- the frame index
- Returns:
- true if the metadata associated with the image at imageIndex can be replaced, false otherwise
- Throws:
IllegalStateException
- if output is nullIndexOutOfBoundsException
- if imageIndex is less than 0 or greater than the last index in the current image listIOException
- if a write error occurs
public boolean canReplacePixels(int imageIndex) throws IOException
Check whether the pixels within the image at the given index can be replaced.
- Parameters:
imageIndex
- the frame index
- Returns:
- true if the pixels in the image at imageIndex can be replaced, false otherwise
- Throws:
IllegalStateException
- if output is nullIndexOutOfBoundsException
- if imageIndex is less than 0 or greater than the last index in the current image listIOException
- if a write error occurs
public boolean canReplaceStreamMetadata() throws IOException
Check whether the metadata associated the entire image stream can be replaced.
- Returns:
- true if the stream metadata can be replaced, false otherwise
- Throws:
IllegalStateException
- if output is nullIOException
- if a write error occurs
public boolean canWriteEmpty() throws IOException
Check whether an entire empty image, including empty metadata and empty thumbnails, can be written to the output stream, leaving pixel values to be filled in later using the replacePixels methods.
- Returns:
- true if an entire empty image can be written before its contents are filled in, false otherwise
- Throws:
IllegalStateException
- if output is nullIOException
- if a write error occurs
public boolean canWriteRasters()
Check if IIOImages containing raster data are supported.
- Returns:
- true if raster IIOImages are supported, false otherwise
public boolean canWriteSequence()
Check if an image can be appended at the end of the current list of images even if prior images have already been written.
- Returns:
- true if sequences of images can be written, false otherwise
public abstract IIOMetadata convertImageMetadata(IIOMetadata inData, ImageTypeSpecifier imageType, ImageWriteParam param)
Convert IIOMetadata from an input reader format, returning an IIOMetadata suitable for use by an image writer. The ImageTypeSpecifier specifies the destination image type. An optional ImageWriteParam argument is available in case the image writing parameters affect the metadata conversion.
- Specified by:
- convertImageMetadata in interface ImageTranscoder
- Parameters:
inData
- the metadata coming from an image readerimageType
- the output image type of the writerparam
- the image writing parameters or null
- Returns:
- the converted metadata that should be used by the image writer, or null if this ImageTranscoder has no knowledge of the input metadata
- Throws:
IllegalArgumentException
- if either inData or imageType is null
public abstract IIOMetadata convertStreamMetadata(IIOMetadata inData, ImageWriteParam param)
Convert IIOMetadata from an input stream format, returning an IIOMetadata suitable for use by an image writer. An optional ImageWriteParam argument is available in case the image writing parameters affect the metadata conversion.
- Specified by:
- convertStreamMetadata in interface ImageTranscoder
- Parameters:
inData
- the metadata coming from an input image streamparam
- the image writing parameters or null
- Returns:
- the converted metadata that should be used by the image writer, or null if this ImageTranscoder has no knowledge of the input metadata
- Throws:
IllegalArgumentException
- if inData is null
public void dispose()
Releases any resources allocated to this object. Subsequent calls to methods on this object will produce undefined results. The default implementation does nothing; subclasses should use this method ensure that native resources are released.
public void endInsertEmpty() throws IOException
Complete inserting an empty image in the output stream.
- Throws:
IllegalStateException
- if output is nullUnsupportedOperationException
- if inserting empty images is not supportedIllegalArgumentException
- if a call to prepareInsertEmpty was not called previous to this method being called (a sequence of prepareInsertEmpty calls must be terminated by a call to endInsertEmpty)IllegalArgumentException
- if prepareWriteEmpty was called before this method being called (without a terminating call to endWriteEmpty)IllegalArgumentException
- if prepareReplacePixels was called before this method being called (without a terminating call to endReplacePixels)IOException
- if a write error occurs
public void endReplacePixels() throws IOException
Complete replacing pixels in an image in the output stream.
- Throws:
IllegalStateException
- if output is nullUnsupportedOperationException
- if replacing pixels is not supported by this writerIllegalArgumentException
- if prepareReplacePixels was not called before this method being calledIOException
- if a write error occurs
public void endWriteEmpty() throws IOException
Complete writing an empty image to the image output stream.
- Throws:
IllegalStateException
- if output is nullUnsupportedOperationException
- if writing empty images is not supportedIllegalArgumentException
- if a call to prepareWriteEmpty was not called previous to this method being called (a sequence of prepareWriteEmpty calls must be terminated by a call to endWriteEmpty)IllegalArgumentException
- if prepareInsertEmpty was called before this method being called (without a terminating call to endInsertEmpty)IllegalArgumentException
- if prepareReplacePixels was called before this method being called (without a terminating call to endReplacePixels)IOException
- if a write error occurs
public void endWriteSequence() throws IOException
Complete writing a sequence of images to the output stream. This method may patch header data and write out footer data.
- Throws:
IllegalStateException
- if output is nullIllegalStateException
- if prepareWriteSequence has not been calledUnsupportedOperationException
- if writing a sequence of images is not supportedIOException
- if a write error occurs
public Locale[] getAvailableLocales()
Retrieve the available locales. Return null if no locales are available or a clone of availableLocales.
- Returns:
- an array of locales or null
public abstract IIOMetadata getDefaultImageMetadata(ImageTypeSpecifier imageType, ImageWriteParam param)
Get a metadata object appropriate for encoding an image specified by the given image type specifier and optional image write parameters.
- Parameters:
imageType
- an image type specifierparam
- image writing parameters, or null
- Returns:
- a metadata object appropriate for encoding an image of the given type with the given parameters
public abstract IIOMetadata getDefaultStreamMetadata(ImageWriteParam param)
Get a metadata object appropriate for encoding the default image type handled by this writer, optionally considering image write parameters.
- Parameters:
param
- image writing parameters, or null
- Returns:
- a metadata object appropriate for encoding an image of the default type with the given parameters
public ImageWriteParam getDefaultWriteParam()
Retrieve the default write parameters for this writer's image format. The default implementation returns new ImageWriteParam().
- Returns:
- image writing parameters
public Locale getLocale()
Get this writer's locale. null is returned if the locale has not been set.
- Returns:
- this writer's locale, or null
public int getNumThumbnailsSupported(ImageTypeSpecifier imageType, ImageWriteParam param, IIOMetadata streamMetadata, IIOMetadata imageMetadata)
Get the number of thumbnails supported by this image writer, based on the given image type, image writing parameters, and stream and image metadata. The image writing parameters are optional, in case they affect the number of thumbnails supported.
- Parameters:
imageType
- an image type specifier, or nullparam
- image writing parameters, or nullstreamMetadata
- the metadata associated with this stream, or nullimageMetadata
- the metadata associated with this image, or null
- Returns:
- the number of thumbnails that this writer supports writing or -1 if the given information is insufficient
public ImageWriterSpi getOriginatingProvider()
Get the ImageWriterSpi that created this writer or null.
- Returns:
- an ImageWriterSpi, or null
public Object getOutput()
Get this reader's image output destination. null is returned if the image destination has not been set.
- Returns:
- an image output destination object, or null
public Dimension[] getPreferredThumbnailSizes(ImageTypeSpecifier imageType, ImageWriteParam param, IIOMetadata streamMetadata, IIOMetadata imageMetadata)
Get the preferred sizes for thumbnails based on the given image type, image writing parameters, and stream and image metadata. The preferred sizes are returned in pairs of dimension values; the first value in the array is a dimension object representing the minimum thumbnail size, the second value is a dimension object representing a maximum thumbnail size. The writer can select a size within the range given by each pair, or it can ignore these size hints.
- Parameters:
imageType
- an image type specifier, or nullparam
- image writing parameters, or nullstreamMetadata
- the metadata associated with this stream, or nullimageMetadata
- the metadata associated with this image, or null
- Returns:
- an array of dimension pairs whose length is a multiple of 2, or null if there is no preferred size (any size is allowed) or if the size is unknown (insufficient information was provided)
public void prepareInsertEmpty(int imageIndex, ImageTypeSpecifier imageType, int width, int height, IIOMetadata imageMetadata, BufferedImage> thumbnails, ImageWriteParam param) throws IOException
Start inserting an empty image in the image output stream. All indices after the specified index are incremented. An index of -1 implies that the empty image should be appended to the end of the current image list. The insertion that this method call starts is not complete until endInsertEmpty is called. prepareInsertEmpty cannot be called again until endInsertEmpty is called and calls to prepareWriteEmpty and prepareInsertEmpty may not be intersperced.
- Parameters:
imageIndex
- the image indeximageType
- the image type specifierwidth
- the image widthheight
- the image heightimageMetadata
- the image metadata, or nullthumbnails
- a list of thumbnails, or nullparam
- image write parameters, or null
- Throws:
IllegalStateException
- if output is nullUnsupportedOperationException
- if inserting empty images is not supportedIndexOutOfBoundsException
- if imageIndex is less than -1 or greater than the last index in the current image listIllegalStateException
- if a previous call to prepareInsertEmpty was made (without a terminating call to endInsertEmpty)IllegalStateException
- if a previous call to prepareWriteEmpty was made (without a terminating call to endWriteEmpty)IllegalArgumentException
- if imageType is null or thumbnails contain non-BufferedImage objectsIllegalArgumentException
- if either width or height is less than 1IOException
- if a write error occurs
public void prepareReplacePixels(int imageIndex, Rectangle region) throws IOException
Start the replacement of pixels within an image in the output stream. Output pixels will be clipped to lie within region.
- Parameters:
imageIndex
- the index of the image in which pixels are being replacedregion
- the rectangle to which to limit pixel replacement
- Throws:
IllegalStateException
- if output is nullUnsupportedOperationException
- if replacing pixels is not supportedIndexOutOfBoundsException
- if imageIndex is less than 0 or greater than the last index in the current image listIllegalStateException
- if a previous call to prepareReplacePixels was made (without a terminating call to endReplacePixels)IllegalArgumentException
- if either region.width or region.height is less than 1, or if region is nullIOException
- if a write error occurs
public void prepareWriteEmpty(IIOMetadata streamMetadata, ImageTypeSpecifier imageType, int width, int height, IIOMetadata imageMetadata, BufferedImage> thumbnails, ImageWriteParam param) throws IOException
Start writing an empty image to the end of the image output stream. The writing that this method call starts is not complete until endWriteEmpty is called. prepareWritetEmpty cannot be called again until endWriteEmpty is called and calls to prepareWriteEmpty and prepareInsertEmpty may not be intersperced.
- Parameters:
streamMetadata
- metadata associated with the stream, or nullimageType
- the image type specifierwidth
- the image widthheight
- the image heightimageMetadata
- the image metadata, or nullthumbnails
- a list of thumbnails, or nullparam
- image write parameters, or null
- Throws:
IllegalStateException
- if output is nullUnsupportedOperationException
- if writing empty images is not supportedIndexOutOfBoundsException
- if imageIndex is less than -1 or greater than the last index in the current image listIllegalStateException
- if a previous call to prepareInsertEmpty was made (without a terminating call to endInsertEmpty)IllegalStateException
- if a previous call to prepareWriteEmpty was made (without a terminating call to endWriteEmpty)IllegalArgumentException
- if imageType is null or thumbnails contain non-BufferedImage objectsIllegalArgumentException
- if either width or height is less than 1IOException
- if a write error occurs
public void prepareWriteSequence(IIOMetadata streamMetadata) throws IOException
Start the writing of a sequence of images.
- Parameters:
streamMetadata
- the stream metadata, or null
- Throws:
IllegalStateException
- if output is nullUnsupportedOperationException
- if writing sequences of images is not supportedIOException
- if a write error occurs
protected void processImageComplete()
Notifies all installed write progress listeners that image loading has completed by calling their imageComplete methods.
protected void processImageProgress(float percentageDone)
Notifies all installed write progress listeners that a certain percentage of the image has been loaded, by calling their imageProgress methods.
- Parameters:
percentageDone
- the percentage of image data that has been loaded
protected void processImageStarted(int imageIndex)
Notifies all installed write progress listeners, by calling their imageStarted methods, that image loading has started on the given image.
- Parameters:
imageIndex
- the frame index of the image that has started loading
protected void processThumbnailComplete()
Notifies all installed write progress listeners, by calling their thumbnailComplete methods, that a thumbnail has completed loading.
protected void processThumbnailProgress(float percentageDone)
Notifies all installed write progress listeners that a certain percentage of a thumbnail has been loaded, by calling their thumbnailProgress methods.
- Parameters:
percentageDone
- the percentage of thumbnail data that has been loaded
protected void processThumbnailStarted(int imageIndex, int thumbnailIndex)
Notifies all installed write progress listeners, by calling their imageStarted methods, that thumbnail loading has started on the given thumbnail of the given image.
- Parameters:
imageIndex
- the frame index of the image one of who's thumbnails has started loadingthumbnailIndex
- the index of the thumbnail that has started loading
protected void processWarningOccurred(int imageIndex, String warning)
Notifies all installed warning listeners, by calling their warningOccurred methods, that a warning message has been raised.
- Parameters:
imageIndex
- the index of the image that was being written when the warning was raisedwarning
- the warning message
- Throws:
IllegalArgumentException
- if warning is null
protected void processWarningOccurred(int imageIndex, String baseName, String keyword)
Notify all installed warning listeners, by calling their warningOccurred methods, that a warning message has been raised. The warning message is retrieved from a resource bundle, using the given basename and keyword.
- Parameters:
imageIndex
- the index of the image that was being written when the warning was raisedbaseName
- the basename of the resource from which to retrieve the warning messagekeyword
- the keyword used to retrieve the warning from the resource bundle
- Throws:
IllegalArgumentException
- if either baseName or keyword is nullIllegalArgumentException
- if no resource bundle is found using baseNameIllegalArgumentException
- if the given keyword produces no results from the resource bundleIllegalArgumentException
- if the retrieved object is not a String
protected void processWriteAborted()
Notifies all installed write progress listeners that image loading has been aborted by calling their writeAborted methods.
public void removeAllIIOWriteProgressListeners()
Uninstall all write progress listeners.
public void removeAllIIOWriteWarningListeners()
Uninstall all write warning listeners.
public void removeIIOWriteProgressListener(IIOWriteProgressListener listener)
Uninstall the given write progress listener.
- Parameters:
listener
- the listener to remove
public void removeIIOWriteWarningListener(IIOWriteWarningListener listener)
Uninstall the given write warning listener.
- Parameters:
listener
- the listener to remove
public void removeImage(int imageIndex) throws IOException
Remove the image at the specified index from the output stream.
- Parameters:
imageIndex
- the frame index from which to remove the image
- Throws:
IllegalStateException
- if output is nullUnsupportedOperationException
- if removing this image is not supportedIndexOutOfBoundsException
- if imageIndex is less than 0 or greater than the last index in the current image listIOException
- if a write error occurs
public void replaceImageMetadata(int imageIndex, IIOMetadata imageMetadata) throws IOException
Replace the metadata associated with the image at the given index.
- Parameters:
imageIndex
- the index of the image whose metadata should be replacedimageMetadata
- the metadata, or null
- Throws:
IllegalStateException
- if output is nullUnsupportedOperationException
- if replacing this image's metadata is not supportedIndexOutOfBoundsException
- if imageIndex is less than 0 or greater than the last index in the current image listIOException
- if a write error occurs
public void replacePixels(Raster raster, ImageWriteParam param) throws IOException
Replace a region of an image in the output stream with a portion of the given raster data. The image data must be of the same type as that in the output stream. The destination region is given by the image writing parameters and the source region is the one given to prepareReplacePixels.
- Parameters:
raster
- the raster data with which to overwrite the image region in the streamparam
- the image writing parameters
- Throws:
IllegalStateException
- if output is nullUnsupportedOperationException
- if replacing pixels is not supportedIllegalStateException
- if prepareReplacePixels was not called before this method was calledUnsupportedOperationException
- if raster data is not supportedIllegalArgumentException
- if raster is null or if param is null or if the overlap of the source and destination regions contains no pixels or if the image types differ and no conversion is possibleIOException
- if a write error occurs
public void replacePixels(RenderedImage image, ImageWriteParam param) throws IOException
Replace a region of an image in the output stream with a portion of the given rendered image. The image data must be of the same type as that in the output stream. The destination region is given by the image writing parameters and the source region is the one given to prepareReplacePixels.
- Parameters:
image
- the rendered image with which to overwrite the image region in the streamparam
- the image writing parameters
- Throws:
IllegalStateException
- if output is nullUnsupportedOperationException
- if replacing pixels is not supportedIllegalStateException
- if prepareReplacePixels was not called before this method was calledIllegalArgumentException
- if image is null or if param is null or if the overlap of the source and destination regions contains no pixels or if the image types differ and no conversion is possibleIOException
- if a write error occurs
public void replaceStreamMetadata(IIOMetadata streamMetadata) throws IOException
Replace the metadata associated with this image stream.
- Parameters:
streamMetadata
- the stream metadata, or null
- Throws:
IllegalStateException
- if output is nullUnsupportedOperationException
- if replacing the stream metadata is not supportedIOException
- if a write error occurs
public void setLocale(Locale locale)
Set the current locale or use the default locale.
- Parameters:
locale
- the locale to set, or null
public void setOutput(Object output)
Set the output destination of the given object. The output destination must be set before many methods can be called on this writer. (see all ImageWriter methods that throw IllegalStateException). If input is null then the current input source will be removed.
- Parameters:
output
- the output destination object
- Throws:
IllegalArgumentException
- if input is not a valid input source for this writer and is not an ImageInputStream
public void write(RenderedImage image) throws IOException
Write a rendered image to the output stream.
- Parameters:
image
- a rendered image containing image data to be written
- Throws:
IllegalStateException
- if output is nullIllegalArgumentException
- if image is nullIOException
- if a write error occurs
public void write(IIOImage image) throws IOException
Write a image data, metadata and thumbnails to the output stream.
- Parameters:
image
- image data, metadata and thumbnails to be written
- Throws:
IllegalStateException
- if output is nullUnsupportedOperationException
- if image contains raster data but this writer does not support rastersIllegalArgumentException
- if image is nullIOException
- if a write error occurs
public abstract void write(IIOMetadata streamMetadata, IIOImage image, ImageWriteParam param) throws IOException
Write an image stream, including thumbnails and metadata to the output stream. The output must have been set prior to this method being called. Metadata associated with the stream may be supplied, or it can be left null. IIOImage may contain raster data if this writer supports rasters, or it will contain a rendered image. Thumbnails are resized if need be. Image writing parameters may be specified to affect writing, or may be left null.
- Parameters:
streamMetadata
- metadata associated with this stream, or nullimage
- an IIOImage containing image data, metadata and thumbnails to be writtenparam
- image writing parameters, or null
- Throws:
IllegalStateException
- if output is nullUnsupportedOperationException
- if image contains raster data but this writer does not support rastersIllegalArgumentException
- if image is nullIOException
- if a write error occurs
public void writeInsert(int imageIndex, IIOImage image, ImageWriteParam param) throws IOException
Insert an image into the output stream. Indices greater than the specified index are incremented accordingly. Specifying an index of -1 causes the image to be appended at the end of the current image list.
- Parameters:
imageIndex
- the frame index at which to insert the imageimage
- the image data, metadata and thumbnails to be insertedparam
- image write parameters, or null
- Throws:
IllegalStateException
- if output is nullUnsupportedOperationException
- if image insertion is not supportedIllegalArgumentException
- if image is nullIndexOutOfBoundsException
- if imageIndex is less than -1 or greater than the last index in the current image listUnsupportedOperationException
- if image contains raster data but this writer does not support rastersIOException
- if a write error occurs
public void writeToSequence(IIOImage image, ImageWriteParam param) throws IOException
Write a sequence of images, including thumbnails and metadata, to the output stream. The output must have been set prior to this method being called. Metadata associated with the stream may be supplied, or it can be left null. IIOImage may contain raster data if this writer supports rasters, or it will contain a rendered image. Thumbnails are resized if need be. Image writing parameters may be specified to affect writing, or may be left null.
- Parameters:
image
- an IIOImage containing image data, metadata and thumbnails to be writtenparam
- image writing parameters, or null
- Throws:
IllegalStateException
- if output is nullUnsupportedOperationException
- if writing sequences of images is not supportedIllegalArgumentException
- if image is nullUnsupportedOperationException
- if image contains raster data but this writer does not support rastersIOException
- if a write error occurs