declare namespace javax { namespace imageio { /** * A class describing how a stream is to be encoded. Instances of * this class or its subclasses are used to supply prescriptive * "how-to" information to instances of ImageWriter. *

A plug-in for a specific image format may define a subclass of * this class, and return objects of that class from the * getDefaultWriteParam method of its * ImageWriter implementation. For example, the built-in * JPEG writer plug-in will return instances of * javax.imageio.plugins.jpeg.JPEGImageWriteParam. *

The region of the image to be written is determined by first * intersecting the actual bounds of the image with the rectangle * specified by IIOParam.setSourceRegion, if any. If the * resulting rectangle has a width or height of zero, the writer will * throw an IIOException. If the intersection is * non-empty, writing will commence with the first subsampled pixel * and include additional pixels within the intersected bounds * according to the horizontal and vertical subsampling factors * specified by {@link IIOParam#setSourceSubsampling * IIOParam.setSourceSubsampling}. *

Individual features such as tiling, progressive encoding, and * compression may be set in one of four modes. * MODE_DISABLED disables the features; * MODE_DEFAULT enables the feature with * writer-controlled parameter values; MODE_EXPLICIT * enables the feature and allows the use of a set method * to provide additional parameters; and * MODE_COPY_FROM_METADATA copies relevant parameter * values from the stream and image metadata objects passed to the * writer. The default for all features is * MODE_COPY_FROM_METADATA. Non-standard features * supplied in subclasses are encouraged, but not required to use a * similar scheme. *

Plug-in writers may extend the functionality of * ImageWriteParam by providing a subclass that implements * additional, plug-in specific interfaces. It is up to the plug-in * to document what interfaces are available and how they are to be * used. Writers will silently ignore any extended features of an * ImageWriteParam subclass of which they are not aware. * Also, they may ignore any optional features that they normally * disable when creating their own ImageWriteParam * instances via getDefaultWriteParam. *

Note that unless a query method exists for a capability, it must * be supported by all ImageWriter implementations * (e.g. progressive encoding is optional, but subsampling must be * supported). * @see ImageReadParam */ // @ts-ignore class ImageWriteParam extends javax.imageio.IIOParam { /** * Constructs an empty ImageWriteParam. It is up to * the subclass to set up the instance variables properly. */ // @ts-ignore constructor() /** * Constructs an ImageWriteParam set to use a * given Locale. * @param locale a Locale to be used to localize * compression type names and quality descriptions, or * null. */ // @ts-ignore constructor(locale: java.util.Locale) /** * A constant value that may be passed into methods such as * setTilingMode, setProgressiveMode, * and setCompressionMode to disable a feature for * future writes. That is, when this mode is set the stream will * not be tiled, progressive, or compressed, and the * relevant accessor methods will throw an * IllegalStateException. * @see #MODE_EXPLICIT * @see #MODE_COPY_FROM_METADATA * @see #MODE_DEFAULT * @see #setProgressiveMode * @see #getProgressiveMode * @see #setTilingMode * @see #getTilingMode * @see #setCompressionMode * @see #getCompressionMode */ // @ts-ignore public static readonly MODE_DISABLED: number /*int*/ /** * A constant value that may be passed into methods such as * setTilingMode, * setProgressiveMode, and * setCompressionMode to enable that feature for * future writes. That is, when this mode is enabled the stream * will be tiled, progressive, or compressed according to a * sensible default chosen internally by the writer in a plug-in * dependent way, and the relevant accessor methods will * throw an IllegalStateException. * @see #MODE_DISABLED * @see #MODE_EXPLICIT * @see #MODE_COPY_FROM_METADATA * @see #setProgressiveMode * @see #getProgressiveMode * @see #setTilingMode * @see #getTilingMode * @see #setCompressionMode * @see #getCompressionMode */ // @ts-ignore public static readonly MODE_DEFAULT: number /*int*/ /** * A constant value that may be passed into methods such as * setTilingMode or setCompressionMode * to enable a feature for future writes. That is, when this mode * is set the stream will be tiled or compressed according to * additional information supplied to the corresponding * set methods in this class and retrievable from the * corresponding get methods. Note that this mode is * not supported for progressive output. * @see #MODE_DISABLED * @see #MODE_COPY_FROM_METADATA * @see #MODE_DEFAULT * @see #setProgressiveMode * @see #getProgressiveMode * @see #setTilingMode * @see #getTilingMode * @see #setCompressionMode * @see #getCompressionMode */ // @ts-ignore public static readonly MODE_EXPLICIT: number /*int*/ /** * A constant value that may be passed into methods such as * setTilingMode, setProgressiveMode, or * setCompressionMode to enable that feature for * future writes. That is, when this mode is enabled the stream * will be tiled, progressive, or compressed based on the contents * of stream and/or image metadata passed into the write * operation, and any relevant accessor methods will throw an * IllegalStateException. *

This is the default mode for all features, so that a read * including metadata followed by a write including metadata will * preserve as much information as possible. * @see #MODE_DISABLED * @see #MODE_EXPLICIT * @see #MODE_DEFAULT * @see #setProgressiveMode * @see #getProgressiveMode * @see #setTilingMode * @see #getTilingMode * @see #setCompressionMode * @see #getCompressionMode */ // @ts-ignore public static readonly MODE_COPY_FROM_METADATA: number /*int*/ /** * The mode controlling tiling settings, which Must be * set to one of the four MODE_* values. The default * is MODE_COPY_FROM_METADATA. *

Subclasses that do not writing tiles may ignore this value. * @see #MODE_DISABLED * @see #MODE_EXPLICIT * @see #MODE_COPY_FROM_METADATA * @see #MODE_DEFAULT * @see #setTilingMode * @see #getTilingMode */ // @ts-ignore tilingMode: number /*int*/ /** * An array of preferred tile size range pairs. The default value * is null, which indicates that there are no * preferred sizes. If the value is non-null, it * must have an even length of at least two. *

Subclasses that do not support writing tiles may ignore * this value. * @see #getPreferredTileSizes */ // @ts-ignore preferredTileSizes: java.awt.Dimension[] /** * A boolean that is true if tiling * parameters have been specified. *

Subclasses that do not support writing tiles may ignore * this value. */ // @ts-ignore tilingSet: boolean /** * The width of each tile if tiling has been set, or 0 otherwise. *

Subclasses that do not support tiling may ignore this * value. */ // @ts-ignore tileWidth: number /*int*/ /** * The height of each tile if tiling has been set, or 0 otherwise. * The initial value is 0. *

Subclasses that do not support tiling may ignore this * value. */ // @ts-ignore tileHeight: number /*int*/ /** * The amount by which the tile grid origin should be offset * horizontally from the image origin if tiling has been set, * or 0 otherwise. The initial value is 0. *

Subclasses that do not support offsetting tiles may ignore * this value. */ // @ts-ignore tileGridXOffset: number /*int*/ /** * The amount by which the tile grid origin should be offset * vertically from the image origin if tiling has been set, * or 0 otherwise. The initial value is 0. *

Subclasses that do not support offsetting tiles may ignore * this value. */ // @ts-ignore tileGridYOffset: number /*int*/ /** * The mode controlling progressive encoding, which must be set to * one of the four MODE_* values, except * MODE_EXPLICIT. The default is * MODE_COPY_FROM_METADATA. *

Subclasses that do not support progressive encoding may * ignore this value. * @see #MODE_DISABLED * @see #MODE_EXPLICIT * @see #MODE_COPY_FROM_METADATA * @see #MODE_DEFAULT * @see #setProgressiveMode * @see #getProgressiveMode */ // @ts-ignore progressiveMode: number /*int*/ /** * The mode controlling compression settings, which must be set to * one of the four MODE_* values. The default is * MODE_COPY_FROM_METADATA. *

Subclasses that do not support compression may ignore this * value. * @see #MODE_DISABLED * @see #MODE_EXPLICIT * @see #MODE_COPY_FROM_METADATA * @see #MODE_DEFAULT * @see #setCompressionMode * @see #getCompressionMode */ // @ts-ignore compressionMode: number /*int*/ /** * An array of Strings containing the names of the * available compression types. Subclasses must set the value * manually. *

Subclasses that do not support compression may ignore this * value. */ // @ts-ignore compressionTypes: java.lang.String[] | string[] /** * A String containing the name of the current * compression type, or null if none is set. *

Subclasses that do not support compression may ignore this * value. */ // @ts-ignore compressionType: java.lang.String | string /** * A float containing the current compression quality * setting. The initial value is 1.0F. *

Subclasses that do not support compression may ignore this * value. */ // @ts-ignore compressionQuality: number /*float*/ /** * A Locale to be used to localize compression type * names and quality descriptions, or null to use a * default Locale. Subclasses must set the value * manually. */ // @ts-ignore locale: java.util.Locale /** * Returns the currently set Locale, or * null if only a default Locale is * supported. * @return the current Locale, or null. */ // @ts-ignore public getLocale(): java.util.Locale /** * Returns true if the writer can perform tiling * while writing. If this method returns false, then * setTiling will throw an * UnsupportedOperationException. * @return true if the writer supports tiling. * @see #canOffsetTiles() * @see #setTiling(int, int, int, int) */ // @ts-ignore public canWriteTiles(): boolean /** * Returns true if the writer can perform tiling with * non-zero grid offsets while writing. If this method returns * false, then setTiling will throw an * UnsupportedOperationException if the grid offset * arguments are not both zero. If canWriteTiles * returns false, this method will return * false as well. * @return true if the writer supports non-zero tile * offsets. * @see #canWriteTiles() * @see #setTiling(int, int, int, int) */ // @ts-ignore public canOffsetTiles(): boolean /** * Determines whether the image will be tiled in the output * stream and, if it will, how the tiling parameters will be * determined. The modes are interpreted as follows: *

* @param mode The mode to use for tiling. * @exception UnsupportedOperationException if * canWriteTiles returns false. * @exception IllegalArgumentException if mode is not * one of the modes listed above. * @see #setTiling * @see #getTilingMode */ // @ts-ignore public setTilingMode(mode: number /*int*/): void /** * Returns the current tiling mode, if tiling is supported. * Otherwise throws an UnsupportedOperationException. * @return the current tiling mode. * @exception UnsupportedOperationException if * canWriteTiles returns false. * @see #setTilingMode */ // @ts-ignore public getTilingMode(): number /*int*/ /** * Returns an array of Dimensions indicating the * legal size ranges for tiles as they will be encoded in the * output file or stream. The returned array is a copy. *

The information is returned as a set of pairs; the first * element of a pair contains an (inclusive) minimum width and * height, and the second element contains an (inclusive) maximum * width and height. Together, each pair defines a valid range of * sizes. To specify a fixed size, use the same width and height * for both elements. To specify an arbitrary range, a value of * null is used in place of an actual array of * Dimensions. *

If no array is specified on the constructor, but tiling is * allowed, then this method returns null. * @exception UnsupportedOperationException if the plug-in does * not support tiling. * @return an array of Dimensions with an even length * of at least two, or null. */ // @ts-ignore public getPreferredTileSizes(): java.awt.Dimension[] /** * Specifies that the image should be tiled in the output stream. * The tileWidth and tileHeight * parameters specify the width and height of the tiles in the * file. If the tile width or height is greater than the width or * height of the image, the image is not tiled in that dimension. *

If canOffsetTiles returns false, * then the tileGridXOffset and * tileGridYOffset parameters must be zero. * @param tileWidth the width of each tile. * @param tileHeight the height of each tile. * @param tileGridXOffset the horizontal offset of the tile grid. * @param tileGridYOffset the vertical offset of the tile grid. * @exception UnsupportedOperationException if the plug-in does not * support tiling. * @exception IllegalStateException if the tiling mode is not * MODE_EXPLICIT. * @exception UnsupportedOperationException if the plug-in does not * support grid offsets, and the grid offsets are not both zero. * @exception IllegalArgumentException if the tile size is not * within one of the allowable ranges returned by * getPreferredTileSizes. * @exception IllegalArgumentException if tileWidth * or tileHeight is less than or equal to 0. * @see #canWriteTiles * @see #canOffsetTiles * @see #getTileWidth() * @see #getTileHeight() * @see #getTileGridXOffset() * @see #getTileGridYOffset() */ // @ts-ignore public setTiling(tileWidth: number /*int*/, tileHeight: number /*int*/, tileGridXOffset: number /*int*/, tileGridYOffset: number /*int*/): void /** * Removes any previous tile grid parameters specified by calls to * setTiling. *

The default implementation sets the instance variables * tileWidth, tileHeight, * tileGridXOffset, and * tileGridYOffset to 0. * @exception UnsupportedOperationException if the plug-in does not * support tiling. * @exception IllegalStateException if the tiling mode is not * MODE_EXPLICIT. * @see #setTiling(int, int, int, int) */ // @ts-ignore public unsetTiling(): void /** * Returns the width of each tile in an image as it will be * written to the output stream. If tiling parameters have not * been set, an IllegalStateException is thrown. * @return the tile width to be used for encoding. * @exception UnsupportedOperationException if the plug-in does not * support tiling. * @exception IllegalStateException if the tiling mode is not * MODE_EXPLICIT. * @exception IllegalStateException if the tiling parameters have * not been set. * @see #setTiling(int, int, int, int) * @see #getTileHeight() */ // @ts-ignore public getTileWidth(): number /*int*/ /** * Returns the height of each tile in an image as it will be written to * the output stream. If tiling parameters have not * been set, an IllegalStateException is thrown. * @return the tile height to be used for encoding. * @exception UnsupportedOperationException if the plug-in does not * support tiling. * @exception IllegalStateException if the tiling mode is not * MODE_EXPLICIT. * @exception IllegalStateException if the tiling parameters have * not been set. * @see #setTiling(int, int, int, int) * @see #getTileWidth() */ // @ts-ignore public getTileHeight(): number /*int*/ /** * Returns the horizontal tile grid offset of an image as it will * be written to the output stream. If tiling parameters have not * been set, an IllegalStateException is thrown. * @return the tile grid X offset to be used for encoding. * @exception UnsupportedOperationException if the plug-in does not * support tiling. * @exception IllegalStateException if the tiling mode is not * MODE_EXPLICIT. * @exception IllegalStateException if the tiling parameters have * not been set. * @see #setTiling(int, int, int, int) * @see #getTileGridYOffset() */ // @ts-ignore public getTileGridXOffset(): number /*int*/ /** * Returns the vertical tile grid offset of an image as it will * be written to the output stream. If tiling parameters have not * been set, an IllegalStateException is thrown. * @return the tile grid Y offset to be used for encoding. * @exception UnsupportedOperationException if the plug-in does not * support tiling. * @exception IllegalStateException if the tiling mode is not * MODE_EXPLICIT. * @exception IllegalStateException if the tiling parameters have * not been set. * @see #setTiling(int, int, int, int) * @see #getTileGridXOffset() */ // @ts-ignore public getTileGridYOffset(): number /*int*/ /** * Returns true if the writer can write out images * as a series of passes of progressively increasing quality. * @return true if the writer supports progressive * encoding. * @see #setProgressiveMode * @see #getProgressiveMode */ // @ts-ignore public canWriteProgressive(): boolean /** * Specifies that the writer is to write the image out in a * progressive mode such that the stream will contain a series of * scans of increasing quality. If progressive encoding is not * supported, an UnsupportedOperationException will * be thrown. *

The mode argument determines how * the progression parameters are chosen, and must be either * MODE_DISABLED, * MODE_COPY_FROM_METADATA, or * MODE_DEFAULT. Otherwise an * IllegalArgumentException is thrown. *

The modes are interpreted as follows: *

*

The default is MODE_COPY_FROM_METADATA. * @param mode The mode for setting progression in the output * stream. * @exception UnsupportedOperationException if the writer does not * support progressive encoding. * @exception IllegalArgumentException if mode is not * one of the modes listed above. * @see #getProgressiveMode */ // @ts-ignore public setProgressiveMode(mode: number /*int*/): void /** * Returns the current mode for writing the stream in a * progressive manner. * @return the current mode for progressive encoding. * @exception UnsupportedOperationException if the writer does not * support progressive encoding. * @see #setProgressiveMode */ // @ts-ignore public getProgressiveMode(): number /*int*/ /** * Returns true if this writer supports compression. * @return true if the writer supports compression. */ // @ts-ignore public canWriteCompressed(): boolean /** * Specifies whether compression is to be performed, and if so how * compression parameters are to be determined. The mode * argument must be one of the four modes, interpreted as follows: *

*

The default is MODE_COPY_FROM_METADATA. * @param mode The mode for setting compression in the output * stream. * @exception UnsupportedOperationException if the writer does not * support compression, or does not support the requested mode. * @exception IllegalArgumentException if mode is not * one of the modes listed above. * @see #getCompressionMode */ // @ts-ignore public setCompressionMode(mode: number /*int*/): void /** * Returns the current compression mode, if compression is * supported. * @return the current compression mode. * @exception UnsupportedOperationException if the writer does not * support compression. * @see #setCompressionMode */ // @ts-ignore public getCompressionMode(): number /*int*/ /** * Returns a list of available compression types, as an array or * Strings, or null if a compression * type may not be chosen using these interfaces. The array * returned is a copy. *

If the writer only offers a single, mandatory form of * compression, it is not necessary to provide any named * compression types. Named compression types should only be * used where the user is able to make a meaningful choice * between different schemes. *

The default implementation checks if compression is * supported and throws an * UnsupportedOperationException if not. Otherwise, * it returns a clone of the compressionTypes * instance variable if it is non-null, or else * returns null. * @return an array of Strings containing the * (non-localized) names of available compression types, or * null. * @exception UnsupportedOperationException if the writer does not * support compression. */ // @ts-ignore public getCompressionTypes(): string[] /** * Sets the compression type to one of the values indicated by * getCompressionTypes. If a value of * null is passed in, any previous setting is * removed. *

The default implementation checks whether compression is * supported and the compression mode is * MODE_EXPLICIT. If so, it calls * getCompressionTypes and checks if * compressionType is one of the legal values. If it * is, the compressionType instance variable is set. * If compressionType is null, the * instance variable is set without performing any checking. * @param compressionType one of the Strings returned * by getCompressionTypes, or null to * remove any previous setting. * @exception UnsupportedOperationException if the writer does not * support compression. * @exception IllegalStateException if the compression mode is not * MODE_EXPLICIT. * @exception UnsupportedOperationException if there are no * settable compression types. * @exception IllegalArgumentException if * compressionType is non-null but is not * one of the values returned by getCompressionTypes. * @see #getCompressionTypes * @see #getCompressionType * @see #unsetCompression */ // @ts-ignore public setCompressionType(compressionType: java.lang.String | string): void /** * Returns the currently set compression type, or * null if none has been set. The type is returned * as a String from among those returned by * getCompressionTypes. * If no compression type has been set, null is * returned. *

The default implementation checks whether compression is * supported and the compression mode is * MODE_EXPLICIT. If so, it returns the value of the * compressionType instance variable. * @return the current compression type as a String, * or null if no type is set. * @exception UnsupportedOperationException if the writer does not * support compression. * @exception IllegalStateException if the compression mode is not * MODE_EXPLICIT. * @see #setCompressionType */ // @ts-ignore public getCompressionType(): string /** * Removes any previous compression type and quality settings. *

The default implementation sets the instance variable * compressionType to null, and the * instance variable compressionQuality to * 1.0F. * @exception UnsupportedOperationException if the plug-in does not * support compression. * @exception IllegalStateException if the compression mode is not * MODE_EXPLICIT. * @see #setCompressionType * @see #setCompressionQuality */ // @ts-ignore public unsetCompression(): void /** * Returns a localized version of the name of the current * compression type, using the Locale returned by * getLocale. *

The default implementation checks whether compression is * supported and the compression mode is * MODE_EXPLICIT. If so, if * compressionType is non-null the value * of getCompressionType is returned as a * convenience. * @return a String containing a localized version of * the name of the current compression type. * @exception UnsupportedOperationException if the writer does not * support compression. * @exception IllegalStateException if the compression mode is not * MODE_EXPLICIT. * @exception IllegalStateException if no compression type is set. */ // @ts-ignore public getLocalizedCompressionTypeName(): string /** * Returns true if the current compression type * provides lossless compression. If a plug-in provides only * one mandatory compression type, then this method may be * called without calling setCompressionType first. *

If there are multiple compression types but none has * been set, an IllegalStateException is thrown. *

The default implementation checks whether compression is * supported and the compression mode is * MODE_EXPLICIT. If so, if * getCompressionTypes() is null or * getCompressionType() is non-null * true is returned as a convenience. * @return true if the current compression type is * lossless. * @exception UnsupportedOperationException if the writer does not * support compression. * @exception IllegalStateException if the compression mode is not * MODE_EXPLICIT. * @exception IllegalStateException if the set of legal * compression types is non-null and the current * compression type is null. */ // @ts-ignore public isCompressionLossless(): boolean /** * Sets the compression quality to a value between 0 * and 1. Only a single compression quality setting * is supported by default; writers can provide extended versions * of ImageWriteParam that offer more control. For * lossy compression schemes, the compression quality should * control the tradeoff between file size and image quality (for * example, by choosing quantization tables when writing JPEG * images). For lossless schemes, the compression quality may be * used to control the tradeoff between file size and time taken * to perform the compression (for example, by optimizing row * filters and setting the ZLIB compression level when writing * PNG images). *

A compression quality setting of 0.0 is most generically * interpreted as "high compression is important," while a setting of * 1.0 is most generically interpreted as "high image quality is * important." *

If there are multiple compression types but none has been * set, an IllegalStateException is thrown. *

The default implementation checks that compression is * supported, and that the compression mode is * MODE_EXPLICIT. If so, if * getCompressionTypes() returns null or * compressionType is non-null it sets * the compressionQuality instance variable. * @param quality a float between 0and * 1 indicating the desired quality level. * @exception UnsupportedOperationException if the writer does not * support compression. * @exception IllegalStateException if the compression mode is not * MODE_EXPLICIT. * @exception IllegalStateException if the set of legal * compression types is non-null and the current * compression type is null. * @exception IllegalArgumentException if quality is * not between 0and 1, inclusive. * @see #getCompressionQuality */ // @ts-ignore public setCompressionQuality(quality: number /*float*/): void /** * Returns the current compression quality setting. *

If there are multiple compression types but none has been * set, an IllegalStateException is thrown. *

The default implementation checks that compression is * supported and that the compression mode is * MODE_EXPLICIT. If so, if * getCompressionTypes() is null or * getCompressionType() is non-null, it * returns the value of the compressionQuality * instance variable. * @return the current compression quality setting. * @exception UnsupportedOperationException if the writer does not * support compression. * @exception IllegalStateException if the compression mode is not * MODE_EXPLICIT. * @exception IllegalStateException if the set of legal * compression types is non-null and the current * compression type is null. * @see #setCompressionQuality */ // @ts-ignore public getCompressionQuality(): number /*float*/ /** * Returns a float indicating an estimate of the * number of bits of output data for each bit of input image data * at the given quality level. The value will typically lie * between 0 and 1, with smaller values * indicating more compression. A special value of * -1.0F is used to indicate that no estimate is * available. *

If there are multiple compression types but none has been set, * an IllegalStateException is thrown. *

The default implementation checks that compression is * supported and the compression mode is * MODE_EXPLICIT. If so, if * getCompressionTypes() is null or * getCompressionType() is non-null, and * quality is within bounds, it returns * -1.0. * @param quality the quality setting whose bit rate is to be * queried. * @return an estimate of the compressed bit rate, or * -1.0F if no estimate is available. * @exception UnsupportedOperationException if the writer does not * support compression. * @exception IllegalStateException if the compression mode is not * MODE_EXPLICIT. * @exception IllegalStateException if the set of legal * compression types is non-null and the current * compression type is null. * @exception IllegalArgumentException if quality is * not between 0and 1, inclusive. */ // @ts-ignore public getBitRate(quality: number /*float*/): number /*float*/ /** * Returns an array of Strings that may be used along * with getCompressionQualityValues as part of a user * interface for setting or displaying the compression quality * level. The String with index i * provides a description of the range of quality levels between * getCompressionQualityValues[i] and * getCompressionQualityValues[i + 1]. Note that the * length of the array returned from * getCompressionQualityValues will always be one * greater than that returned from * getCompressionQualityDescriptions. *

As an example, the strings "Good", "Better", and "Best" * could be associated with the ranges [0, .33), * [.33, .66), and [.66, 1.0]. In this * case, getCompressionQualityDescriptions would * return { "Good", "Better", "Best" } and * getCompressionQualityValues would return * { 0.0F, .33F, .66F, 1.0F }. *

If no descriptions are available, null is * returned. If null is returned from * getCompressionQualityValues, this method must also * return null. *

The descriptions should be localized for the * Locale returned by getLocale, if it * is non-null. *

If there are multiple compression types but none has been set, * an IllegalStateException is thrown. *

The default implementation checks that compression is * supported and that the compression mode is * MODE_EXPLICIT. If so, if * getCompressionTypes() is null or * getCompressionType() is non-null, it * returns null. * @return an array of Strings containing localized * descriptions of the compression quality levels. * @exception UnsupportedOperationException if the writer does not * support compression. * @exception IllegalStateException if the compression mode is not * MODE_EXPLICIT. * @exception IllegalStateException if the set of legal * compression types is non-null and the current * compression type is null. * @see #getCompressionQualityValues */ // @ts-ignore public getCompressionQualityDescriptions(): string[] /** * Returns an array of floats that may be used along * with getCompressionQualityDescriptions as part of a user * interface for setting or displaying the compression quality * level. See {@link #getCompressionQualityDescriptions * getCompressionQualityDescriptions} for more information. *

If no descriptions are available, null is * returned. If null is returned from * getCompressionQualityDescriptions, this method * must also return null. *

If there are multiple compression types but none has been set, * an IllegalStateException is thrown. *

The default implementation checks that compression is * supported and that the compression mode is * MODE_EXPLICIT. If so, if * getCompressionTypes() is null or * getCompressionType() is non-null, it * returns null. * @return an array of floats indicating the * boundaries between the compression quality levels as described * by the Strings from * getCompressionQualityDescriptions. * @exception UnsupportedOperationException if the writer does not * support compression. * @exception IllegalStateException if the compression mode is not * MODE_EXPLICIT. * @exception IllegalStateException if the set of legal * compression types is non-null and the current * compression type is null. * @see #getCompressionQualityDescriptions */ // @ts-ignore public getCompressionQualityValues(): number /*float*/[] } } }