version 3.3

VRS::ImageManipulator Class Reference

Interface for operations performed on the contents of images. More...

#include <vrs/image/imagemanipulator.h>

Inheritance diagram for VRS::ImageManipulator:

VRS::SharedObj VRS::Visitable VRS::ImageBlend VRS::ImageConvolution VRS::ImageCopyOp VRS::ImageDitherOp VRS::ImageEdgeDetector VRS::ImageFilterOp VRS::ImageManipulatorList VRS::ImageModulate VRS::ImagePixelFilter VRS::ImagePixelOp VRS::ImageRegionOp VRS::ImageSizeAdjuster VRS::PaletteImage2RGB VRS::RGB2PaletteImage

List of all members.

Public Member Functions

 ImageManipulator ()
 An ImageManipulator modifies the contents of an images.
virtual Imagemanipulate (Image *image)
virtual Imagemanipulate (Image *srcImage, Image *dstImage)=0
virtual bool operatesInPlace () const
 VRS_TYPEINFO (ImageManipulator, SharedObj)

Static Public Member Functions

static bool sameDataType (Image *srcImage, Image *dstImage)
static bool sameLayers (Image *srcImage, Image *dstImage)
static Area calculateROI (Image *srcI, Image *dstI)

Protected Member Functions

virtual bool checkSizes (Image *srcImage, Image *dstImage) const


Detailed Description

Interface for operations performed on the contents of images.

Constructor & Destructor Documentation

VRS::ImageManipulator::ImageManipulator (  ) 

An ImageManipulator modifies the contents of an images.


Member Function Documentation

virtual Image* VRS::ImageManipulator::manipulate ( Image image  )  [virtual]

The image operation is executed for the given image, i.e., the result of the image operation is stored in that image, too. A temporal buffer might be necessary to perform the image operation. The handle of the given image is returned.

Reimplemented in VRS::ImageManipulatorList, VRS::PaletteImage2RGB, and VRS::RGB2PaletteImage.

virtual Image* VRS::ImageManipulator::manipulate ( Image srcImage,
Image dstImage 
) [pure virtual]

The image operation is apply to the source image and the the resulting image is stored in the target image. The handle of the target image is returned.

Implemented in VRS::ImageBlend, VRS::ImageConvolution, VRS::ImageCopyOp, VRS::ImageDitherOp, VRS::ImageEdgeDetector, VRS::ImageFilterOp, VRS::ImageManipulatorList, VRS::ImageModulate, VRS::ImagePixelFilter, VRS::ImagePixelOp, VRS::ImageRegionOp, VRS::ImageSizeAdjuster, VRS::PaletteImage2RGB, and VRS::RGB2PaletteImage.

virtual bool VRS::ImageManipulator::operatesInPlace (  )  const [virtual]

static bool VRS::ImageManipulator::sameDataType ( Image srcImage,
Image dstImage 
) [static]

static bool VRS::ImageManipulator::sameLayers ( Image srcImage,
Image dstImage 
) [static]

For a pair of source and destination images, these methods check for compatibility, i.e., whether the images do have the the same image data type and same image layer sequence.

static Area VRS::ImageManipulator::calculateROI ( Image srcI,
Image dstI 
) [static]

Both source and destination images have a region-of-interest. Any image operation uses the src-roi and copies the result into the dest-roi, whereby the src-roi is adjusted over the dst-roi and only the intersection area of both are actually used. For example, if the src-roi is smaller than the dst-roi, only part of the dst-roi are actually used. A region-of-interest can specify width and height by -1 indicating that the whole image width and height can be used.

virtual bool VRS::ImageManipulator::checkSizes ( Image srcImage,
Image dstImage 
) const [protected, virtual]

VRS::ImageManipulator::VRS_TYPEINFO ( ImageManipulator  ,
SharedObj   
)


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

Generated on Sun May 19 06:00:34 2013 by Doxygen 1.5.6
© 2001-2010 Hasso-Plattner-Institut | Impressum | Contact