libCZI
Reading and Writing CZI documents made easy
libCZI::ISingleChannelTileAccessor Class Referenceabstract

#include <libCZI_Compositor.h>

Inheritance diagram for libCZI::ISingleChannelTileAccessor:
libCZI::IAccessor

Classes

struct  Options
 Options for controlling the composition operation. More...
 

Public Member Functions

virtual std::shared_ptr< libCZI::IBitmapDataGet (const libCZI::IntRect &roi, const IDimCoordinate *planeCoordinate, const Options *pOptions)=0
 Gets the tile composite of the specified plane and the specified ROI. The pixeltype is determined by examing the first subblock found in the specified plane (which is an arbitrary subblock). A newly allocated bitmap is returned. More...
 
virtual std::shared_ptr< libCZI::IBitmapDataGet (libCZI::PixelType pixeltype, const libCZI::IntRect &roi, const IDimCoordinate *planeCoordinate, const Options *pOptions)=0
 
virtual void Get (libCZI::IBitmapData *pDest, int xPos, int yPos, const IDimCoordinate *planeCoordinate, const Options *pOptions)=0
 
std::shared_ptr< libCZI::IBitmapDataGet (int xPos, int yPos, int width, int height, const IDimCoordinate *planeCoordinate, const Options *pOptions)
 
std::shared_ptr< libCZI::IBitmapDataGet (libCZI::PixelType pixeltype, int xPos, int yPos, int width, int height, const IDimCoordinate *planeCoordinate, const Options *pOptions)
 

Detailed Description

This accessor creates a multi-tile composite of a single channel (and a single plane). The accessor will request all tiles that intersect with the specified ROI and are on the specified plane and create a composite as shown here:

The resulting output bitmap will look like this:

This accessor only operates on pyramid layer 0 - i. e. only sub-blocks with logical_size = physical_size will be considered. If the flag "drawTileBorder" is set, then the tiles will be sorted by their M-index (tiles with higher M-index are placed 'on top').
The pixel type of the output bitmap is either specified as an argument or it is automatically determined. In the latter case the first sub-block found on the specified plane is examined for its pixeltype, and this pixeltype is used.
The pixels in the output bitmap get converted from the source pixels (if their pixeltypes differ).

Member Function Documentation

◆ Get() [1/5]

virtual std::shared_ptr<libCZI::IBitmapData> libCZI::ISingleChannelTileAccessor::Get ( const libCZI::IntRect roi,
const IDimCoordinate planeCoordinate,
const Options pOptions 
)
pure virtual

Gets the tile composite of the specified plane and the specified ROI. The pixeltype is determined by examing the first subblock found in the specified plane (which is an arbitrary subblock). A newly allocated bitmap is returned.


It needs to be defined what is supposed to happen if there is no subblock found in the specified plane.

Parameters
roiThe ROI.
planeCoordinateThe plane coordinate.
pOptionsOptions for controlling the operation.
Returns
A std::shared_ptr<libCZI::IBitmapData> containing the tile-composite.

◆ Get() [2/5]

std::shared_ptr<libCZI::IBitmapData> libCZI::ISingleChannelTileAccessor::Get ( int  xPos,
int  yPos,
int  width,
int  height,
const IDimCoordinate planeCoordinate,
const Options pOptions 
)
inline

Gets the tile composite of the specified plane and the specified ROI. The pixeltype is determined by examing the first subblock found in the specified plane (which is an arbitrary subblock). A newly allocated bitmap is returned.

Parameters
xPosThe x-position.
yPosThe y-position.
widthThe width.
heightThe height.
planeCoordinateThe plane coordinate.
pOptionsOptions for controlling the operation.
Returns
A std::shared_ptr<libCZI::IBitmapData>

◆ Get() [3/5]

virtual void libCZI::ISingleChannelTileAccessor::Get ( libCZI::IBitmapData pDest,
int  xPos,
int  yPos,
const IDimCoordinate planeCoordinate,
const Options pOptions 
)
pure virtual

Copy the tile composite into the specified bitmap. The bitmap passed in here determines the width and the height of the ROI (and the pixeltype).

Parameters
[in]pDestThe destination bitmap.
xPosThe x-position of the ROI (width and height are given by pDest).
yPosThe y-position of the ROI ((width and height are given by pDest).
planeCoordinateThe plane coordinate.
pOptionsOptions for controlling the operation.

◆ Get() [4/5]

virtual std::shared_ptr<libCZI::IBitmapData> libCZI::ISingleChannelTileAccessor::Get ( libCZI::PixelType  pixeltype,
const libCZI::IntRect roi,
const IDimCoordinate planeCoordinate,
const Options pOptions 
)
pure virtual

Gets the tile composite of the specified plane and the specified ROI.

Parameters
pixeltypeThe pixeltype.
roiThe ROI.
planeCoordinateThe plane coordinate.
pOptionsOptions for controlling the operation.
Returns
A std::shared_ptr<libCZI::IBitmapData> containing the tile-composite.

◆ Get() [5/5]

std::shared_ptr<libCZI::IBitmapData> libCZI::ISingleChannelTileAccessor::Get ( libCZI::PixelType  pixeltype,
int  xPos,
int  yPos,
int  width,
int  height,
const IDimCoordinate planeCoordinate,
const Options pOptions 
)
inline

Gets the tile composite of the specified plane and the specified ROI.

Parameters
pixeltypeThe pixeltype.
xPosThe x-position.
yPosThe y-position.
widthThe width.
heightThe height.
planeCoordinateThe plane coordinate.
pOptionsOptions for controlling the operation.
Returns
A std::shared_ptr<libCZI::IBitmapData>

The documentation for this class was generated from the following file: