C# Class CSJ2K.Color.EnumeratedColorSpaceMapper

This class provides Enumerated ColorSpace API for the jj2000.j2k imaging chain by implementing the BlkImgDataSrc interface, in particular the getCompData and getInternCompData methods.
Inheritance: ColorSpaceMapper
Show file Open project: cureos/csj2k Class Usage Examples

Public Methods

Method Description
ToString ( ) : System.String
createInstance ( CSJ2K.j2k.image.BlkImgDataSrc src, ColorSpace csMap ) : CSJ2K.j2k.image.BlkImgDataSrc

Factory method for creating instances of this class.

getCompData ( CSJ2K.j2k.image.DataBlk out_Renamed, int c ) : CSJ2K.j2k.image.DataBlk

Returns, in the blk argument, a block of image data containing the specifed rectangular area, in the specified component. The data is returned, as a copy of the internal data, therefore the returned data can be modified "in place".

The rectangular area to return is specified by the 'ulx', 'uly', 'w' and 'h' members of the 'blk' argument, relative to the current tile. These members are not modified by this method. The 'offset' of the returned data is 0, and the 'scanw' is the same as the block's width. See the 'DataBlk' class.

If the data array in 'blk' is 'null', then a new one is created. If the data array is not 'null' then it is reused, and it must be large enough to contain the block's data. Otherwise an 'ArrayStoreException' or an 'IndexOutOfBoundsException' is thrown by the Java system.

The returned data has its 'progressive' attribute set to that of the input data.

getInternCompData ( CSJ2K.j2k.image.DataBlk out_Renamed, int c ) : CSJ2K.j2k.image.DataBlk

Returns, in the blk argument, a block of image data containing the specifed rectangular area, in the specified component. The data is returned, as a reference to the internal data, if any, instead of as a copy, therefore the returned data should not be modified.

The rectangular area to return is specified by the 'ulx', 'uly', 'w' and 'h' members of the 'blk' argument, relative to the current tile. These members are not modified by this method. The 'offset' and 'scanw' of the returned data can be arbitrary. See the 'DataBlk' class.

This method, in general, is more efficient than the 'getCompData()' method since it may not copy the data. However if the array of returned data is to be modified by the caller then the other method is probably preferable.

If possible, the data in the returned 'DataBlk' should be the internal data itself, instead of a copy, in order to increase the data transfer efficiency. However, this depends on the particular implementation (it may be more convenient to just return a copy of the data). This is the reason why the returned data should not be modified.

If the data array in blk is null, then a new one is created if necessary. The implementation of this interface may choose to return the same array or a new one, depending on what is more efficient. Therefore, the data array in blk prior to the method call should not be considered to contain the returned data, a new array may have been created. Instead, get the array from blk after the method has returned.

The returned data may have its 'progressive' attribute set. In this case the returned data is only an approximation of the "final" data.

Protected Methods

Method Description
EnumeratedColorSpaceMapper ( CSJ2K.j2k.image.BlkImgDataSrc src, ColorSpace csMap ) : System

Ctor which creates an ICCProfile for the image and initializes all data objects (input, working, and output).

Method Details

EnumeratedColorSpaceMapper() protected method

Ctor which creates an ICCProfile for the image and initializes all data objects (input, working, and output).
protected EnumeratedColorSpaceMapper ( CSJ2K.j2k.image.BlkImgDataSrc src, ColorSpace csMap ) : System
src CSJ2K.j2k.image.BlkImgDataSrc -- Source of image data ///
csMap ColorSpace
return System

ToString() public method

public ToString ( ) : System.String
return System.String

createInstance() public static method

Factory method for creating instances of this class.
public static createInstance ( CSJ2K.j2k.image.BlkImgDataSrc src, ColorSpace csMap ) : CSJ2K.j2k.image.BlkImgDataSrc
src CSJ2K.j2k.image.BlkImgDataSrc -- source of image data ///
csMap ColorSpace -- provides colorspace info ///
return CSJ2K.j2k.image.BlkImgDataSrc

getCompData() public method

Returns, in the blk argument, a block of image data containing the specifed rectangular area, in the specified component. The data is returned, as a copy of the internal data, therefore the returned data can be modified "in place".

The rectangular area to return is specified by the 'ulx', 'uly', 'w' and 'h' members of the 'blk' argument, relative to the current tile. These members are not modified by this method. The 'offset' of the returned data is 0, and the 'scanw' is the same as the block's width. See the 'DataBlk' class.

If the data array in 'blk' is 'null', then a new one is created. If the data array is not 'null' then it is reused, and it must be large enough to contain the block's data. Otherwise an 'ArrayStoreException' or an 'IndexOutOfBoundsException' is thrown by the Java system.

The returned data has its 'progressive' attribute set to that of the input data.

public getCompData ( CSJ2K.j2k.image.DataBlk out_Renamed, int c ) : CSJ2K.j2k.image.DataBlk
out_Renamed CSJ2K.j2k.image.DataBlk
c int The index of the component from which to get the data. Only 0 /// and 3 are valid. /// ///
return CSJ2K.j2k.image.DataBlk

getInternCompData() public method

Returns, in the blk argument, a block of image data containing the specifed rectangular area, in the specified component. The data is returned, as a reference to the internal data, if any, instead of as a copy, therefore the returned data should not be modified.

The rectangular area to return is specified by the 'ulx', 'uly', 'w' and 'h' members of the 'blk' argument, relative to the current tile. These members are not modified by this method. The 'offset' and 'scanw' of the returned data can be arbitrary. See the 'DataBlk' class.

This method, in general, is more efficient than the 'getCompData()' method since it may not copy the data. However if the array of returned data is to be modified by the caller then the other method is probably preferable.

If possible, the data in the returned 'DataBlk' should be the internal data itself, instead of a copy, in order to increase the data transfer efficiency. However, this depends on the particular implementation (it may be more convenient to just return a copy of the data). This is the reason why the returned data should not be modified.

If the data array in blk is null, then a new one is created if necessary. The implementation of this interface may choose to return the same array or a new one, depending on what is more efficient. Therefore, the data array in blk prior to the method call should not be considered to contain the returned data, a new array may have been created. Instead, get the array from blk after the method has returned.

The returned data may have its 'progressive' attribute set. In this case the returned data is only an approximation of the "final" data.

public getInternCompData ( CSJ2K.j2k.image.DataBlk out_Renamed, int c ) : CSJ2K.j2k.image.DataBlk
out_Renamed CSJ2K.j2k.image.DataBlk
c int The index of the component from which to get the data. /// ///
return CSJ2K.j2k.image.DataBlk