Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

PLFilterIntensity Class Reference

Changes the intensity of a 24 or 32 bpp bitmap. More...

#include <plfilterintensity.h>

Inheritance diagram for PLFilterIntensity:

Inheritance graph
[legend]
Collaboration diagram for PLFilterIntensity:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 PLFilterIntensity (double intensity, PLBYTE offset, double exponent)
virtual ~PLFilterIntensity ()
virtual void Apply (PLBmp *pBmpSource, PLBmp *pBmpDest) const
 Applies the Filter to pBmpSource and stores the result in pBmpDest.

Protected Attributes

double m_intensity
double m_offset
double m_exponent

Detailed Description

Changes the intensity of a 24 or 32 bpp bitmap.

Applies the factor intensityFactor = 1.0 + csupp * pow((v-m_offset), m_exponent) with csupp = intensity/pow(255.0, m_exponent); on the v-Value of the image after a HSV transform. The bitmap stays unchanged for intensity = 20, offset = 128, exponent = 1.

Definition at line 28 of file plfilterintensity.h.


Constructor & Destructor Documentation

PLFilterIntensity::PLFilterIntensity double  intensity,
PLBYTE  offset,
double  exponent
 

Definition at line 18 of file plfilterintensity.cpp.

References PLBYTE.

PLFilterIntensity::~PLFilterIntensity  )  [virtual]
 

Definition at line 27 of file plfilterintensity.cpp.


Member Function Documentation

void PLFilterIntensity::Apply PLBmp pBmpSource,
PLBmp pBmpDest
const [virtual]
 

Applies the Filter to pBmpSource and stores the result in pBmpDest.

The base-class version copies the bitmap before calling ApplyInPlace (pBmpDest).

Reimplemented from PLFilter.

Definition at line 32 of file plfilterintensity.cpp.

References PLBmp::Create(), fp_hsv_to_rgb(), fp_rgb_to_hsv(), PLBmp::GetBitsPerPixel(), PLBmp::GetHeight(), PLBmp::GetLineArray(), PLBmp::GetResolution(), PLBmp::GetWidth(), PLBmp::HasAlpha(), m_exponent, m_intensity, m_offset, PLASSERT, PLBYTE, and pow().

Here is the call graph for this function:


Member Data Documentation

double PLFilterIntensity::m_exponent [protected]
 

Definition at line 38 of file plfilterintensity.h.

Referenced by Apply().

double PLFilterIntensity::m_intensity [protected]
 

Definition at line 36 of file plfilterintensity.h.

Referenced by Apply().

double PLFilterIntensity::m_offset [protected]
 

Definition at line 37 of file plfilterintensity.h.

Referenced by Apply().


The documentation for this class was generated from the following files:
Generated on Wed Dec 15 21:21:00 2004 for vuVolume by  doxygen 1.3.9.1