![](../../Home/Icons/Home.gif)
![](../icons/UpCNM.gif)
![](../icons/CNMContext.gif)
![](../../Home/Icons/Search.gif)
Taxonomy Categories:
Member Functions:
Interface Category:
API.
Inherits From:
TColor
Inherited By:
None.
Purpose:
TCompactRGBColor is derived from TColor. The class defines the Cartesian coordinate-based color model of red, green, and blue. The RGB primaries, which are additive, are used for most color monitors and color raster graphic systems. Because most RGB monitors emit radiation, the color perceived at the eye is the sum of the three primaries. Values of the primaries are constrained to the range between 0 and 255, inclusive. Member functions are provided to clamp the RGB primaries to this range. The RGB color model is uncalibrated; therefore, RGB colors must be defined with respect to a particular color device through a color profile.
The class provides arithmetic operators that operate on two colors.
Instantiation:
Allocate on the heap or the stack.
Deriving Classes:
Derive new color models from TColor.
Concurrency:
Multithread safe.
Resource Use:
No special requirements.
Other Considerations:
None.
- TRGBCompactColor ()
- TRGBCompactColor (const TColor & aColor)
- TRGBCompactColor (TColorProfile * theDeviceColorProfile)
- TRGBCompactColor (CharIntensity aRed, CharIntensity aGreen, CharIntensity aBlue, CharIntensity opacity =255)
- TRGBCompactColor (const TRGBCompactColor & aRGBCompactColor)
- TRGBCompactColor (TColorProfile * theDeviceColorProfile, CharIntensity aRed, CharIntensity aGreen, CharIntensity aBlue, CharIntensity opacity =255)
Interface Category:
API.
Purpose:
- Default constructor; it has the default color profile, and color components are not initialized.
- Creates a TCompactRGBColor from a TColor.
- Creates a TCompactRGBColor with the specified color profile. The color components are not initialized.
- Creates a TCompactRGBColor with the specified components. It has the default color profile.
- Copy constructor.
- Creates a TCompactRGBColor with the specified components and color profile.
Calling Context:
- Called by the stream-in operators and directly.
- Call this function directly.
- Call this function directly.
- Call this function directly.
- Called to copy an object. You can also call this function directly.
- Call this function directly.
Parameters:
- Takes no parameters.
- const TColor & aColor -The color to be copied.
- TColorProfile * theDeviceColorProfile -The color profile for the new color.
- CharIntensity aRed -The red component of the new color.
- CharIntensity aGreen -The green component of the new color.
- CharIntensity aBlue -The blue component of the new color.
- CharIntensity opacity =255 -The opacity of the new color.
- const TRGBCompactColor & aRGBCompactColor -The color object to be copied.
- TColorProfile * theDeviceColorProfile -The color profile for the new color.
- CharIntensity aRed -The red component of the new color.
- CharIntensity aGreen -The green component of the new color.
- CharIntensity aBlue -The blue component of the new color.
- CharIntensity opacity =255 -The opacity of the new color.
Return Value:
None.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Multithread safe.
Other Considerations:
None.
virtual ~ TRGBCompactColor ()
Interface Category:
API.
Purpose:
Destructor.
Calling Context:
Called to destroy an object.
Parameters:
Return Value:
None.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Multithread safe.
Other Considerations:
None.
void GetComponents (CharIntensity & aRed, CharIntensity & aGreen, CharIntensity & aBlue, CharIntensity & opacity) const
Interface Category:
API.
Purpose:
Gets the components of the TCompactRGBColor.
Calling Context:
Call this function directly.
Parameters:
- CharIntensity & aRed -The red component of this color.
- CharIntensity & aGreen -The green component of this color.
- CharIntensity & aBlue -The blue component of this color.
- CharIntensity & opacity -The opacity of this color.
Return Value:
None.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Multithread safe.
Other Considerations:
None.
Member Function: TRGBCompactColor::GetClampedComponents
void GetClampedComponents (CharIntensity & aRed, CharIntensity & aGreen, CharIntensity & aBlue, CharIntensity & opacity) const
Interface Category:
API.
Purpose:
Gets the components of this TCompactRGBColor clamped between 0 <= N <= 255.
Calling Context:
Call this function directly.
Parameters:
- CharIntensity & aRed -The clamped red component of this color.
- CharIntensity & aGreen -The clamped green component of this color.
- CharIntensity & aBlue -The clamped blue component of this color.
- CharIntensity & opacity -The clamped opacity value of this color.
Return Value:
None.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Multithread safe.
Other Considerations:
None.
CharIntensity GetRed () const
Interface Category:
API.
Purpose:
Gets the red component of this TRGBCompactColor.
Calling Context:
Call this function directly.
Parameters:
Return Value:
Returns the red component of the color.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Multithread safe.
Other Considerations:
None.
CharIntensity GetGreen () const
Interface Category:
API.
Purpose:
Gets the green component of this TRGBCompactColor.
Calling Context:
Call this function directly.
Parameters:
Return Value:
Returns the green component of the color.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Multithread safe.
Other Considerations:
None.
CharIntensity GetBlue () const
Interface Category:
API.
Purpose:
Gets the blue component of this TRGBCompactColor.
Calling Context:
Call this function directly.
Parameters:
Return Value:
Returns the blue component of the color.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Multithread safe.
Other Considerations:
None.
GIntensity GetOpacity () const
Interface Category:
API.
Purpose:
Gets the opacity of this TRGBCompactColor.
Calling Context:
Call this function directly.
Parameters:
Return Value:
Returns the opacity of the color.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Multithread safe.
Other Considerations:
None.
Member Function: TRGBCompactColor::GetColorDifference
float GetColorDifference (const TRGBCompactColor & aColor2) const
Interface Category:
API.
Purpose:
Calculates the color difference between this TRGBCompactColor and the specified one. The color difference is defined as the sqrt( (R1-R2)^2+(G1-G2)^2+(B1-B2)^2 ).
Calling Context:
Call this function directly.
Parameters:
- const TRGBCompactColor & aColor2 -The color with which the difference is computed.
Return Value:
The value of the color difference between the two colors.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Multithread safe.
Other Considerations:
None.
void SetComponents (CharIntensity aRed, CharIntensity aGreen, CharIntensity aBlue, CharIntensity opacity =255)
Interface Category:
API.
Purpose:
Sets the components of this TRGBCompactColor with the specified values.
Calling Context:
Call this function directly.
Parameters:
- CharIntensity aRed -The new value for the red component.
- CharIntensity aGreen -The new value for the green component.
- CharIntensity aBlue -The new value for the blue component.
- CharIntensity opacity =255 -The new value for the opacity.
Return Value:
None.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Multithread safe.
Other Considerations:
None.
void SetRed (CharIntensity aRed)
Interface Category:
API.
Purpose:
Sets the red component of this TRGBCompactColor.
Calling Context:
Call this function directly.
Parameters:
- CharIntensity aRed -The new value for the red component.
Return Value:
None.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Multithread safe.
Other Considerations:
None.
void SetGreen (CharIntensity aGreen)
Interface Category:
API.
Purpose:
Sets the green component of this TRGBCompactColor.
Calling Context:
Call this function directly.
Parameters:
- CharIntensity aRed -The new value for the green component.
Return Value:
None.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Multithread safe.
Other Considerations:
None.
void SetBlue (CharIntensity aBlue)
Interface Category:
API.
Purpose:
Sets the blue component of this TRGBCompactColor.
Calling Context:
Call this function directly.
Parameters:
- CharIntensity aRed -The new value for the blue component.
Return Value:
None.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Multithread safe.
Other Considerations:
None.
void SetOpacity (CharIntensity opacity =255)
Interface Category:
API.
Purpose:
Sets the opacity of this TRGBCompactColor.
Calling Context:
Call this function directly.
Parameters:
- CharIntensity opacity =255 -The new value for the opacity.
Return Value:
None.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Multithread safe.
Other Considerations:
None.
void ClampOpacity ()
Interface Category:
API.
Purpose:
Pins the opacity of this TRGBCompactColor to the range 0 <= N <= 255.
Calling Context:
Call this function directly.
Parameters:
Return Value:
None.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Multithread safe.
Other Considerations:
None.
Member Function: TRGBCompactColor::GetClampedOpacity
GIntensity GetClampedOpacity () const
Interface Category:
API.
Purpose:
Returns the opacity of this TRGBCompactColor and pins the value to the range 0 <= N <= 255.
Calling Context:
Call this function directly.
Parameters:
Return Value:
The clamped opacity.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Multithread safe.
Other Considerations:
None.
Member Function: TRGBCompactColor::operatorTRGBColor
virtual operator TRGBColor () const
Interface Category:
API.
Purpose:
Casts this TRGBCompactColor to a TRGBColor.
Calling Context:
Call this operator directly.
Parameters:
Return Value:
Returns an RGBColor that corresponds with this color.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Multithread safe.
Other Considerations:
None.
Member Function: TRGBCompactColor::operatorTXYZColor
virtual operator TXYZColor () const
Interface Category:
API.
Purpose:
Casts this TRGBCompactColor to a TXYZColor.
Calling Context:
Call this operator directly.
Parameters:
Return Value:
Returns a XYZColor that corresponds with this color.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Multithread safe.
Other Considerations:
None.
- TRGBCompactColor & operator =(const TRGBCompactColor & aSource)
- TColor & operator =(const TColor & aSource)
Interface Category:
API.
Purpose:
- Assignment operator.
- Assignment operator that casts the specified operand to a TRGBCompactColor.
Calling Context:
- Called when an object is assigned to another compatible object.
- Called when a TColor object is assigned to a TRGBCompactColor object.
Parameters:
- const TRGBCompactColor & aSource -The object to be copied.
- const TColor & aSource -The object to be converted and copied.
Return Value:
A non-const reference to the left-hand side object.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Multithread safe.
Other Considerations:
None.
virtual TStream & operator >>=(TStream &) const
Interface Category:
API.
Purpose:
Stream-out operator.
Calling Context:
Called to stream out data.
Parameters:
- TStream & -The stream that the object streams itself out to.
Return Value:
Returns a reference to the stream the object streams itself out to.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Multithread safe.
Other Considerations:
None.
virtual TStream & operator <<= (TStream &)
Interface Category:
API.
Purpose:
Stream-in operator.
Calling Context:
Called to stream in data.
Parameters:
- TStream & -The stream that the object streams itself in from.
Return Value:
Returns a reference to the stream the object streams itself in from.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Multithread safe.
Other Considerations:
None.
- TRGBCompactColor operator + (const TRGBCompactColor & aColor2) const
- TRGBCompactColor operator + (const float aScalar) const
Interface Category:
API.
Purpose:
- Adds the components of the two TRGBCompactColors together.
- Adds the specified scalar to each component of this TRGBCompactColor.
Calling Context:
- Call this operator directly.
- Call this operator directly.
Parameters:
- const TRGBCompactColor & aColor2 -The color to be added to this one.
- const float aScalar -The scalar to be added to each component of this color.
Return Value:
- Returns a new color with the new components.
- Returns a new color with the new components.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Multithread safe.
Other Considerations:
None.
- TRGBCompactColor operator -(const TRGBCompactColor & aColor2) const
- TRGBCompactColor operator -(const float aScalar) const
Interface Category:
API.
Purpose:
- Subtracts the components of the specified color from this TRGBCompactColor.
- Subtracts the specified scalar from each component of this TRGBCompactColor.
Calling Context:
- Call this operator directly.
- Call this operator directly.
Parameters:
- const TRGBCompactColor & aColor2 -The subtrahend.
- const float aScalar -The scalar subtrahend.
Return Value:
- Returns a new color with the new components.
- Returns a new color with the new components.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Multithread safe.
Other Considerations:
None.
- TRGBCompactColor operator * (const float aScalar) const
- TRGBCompactColor operator * (const TRGBCompactColor & aColor2) const
Interface Category:
API.
Purpose:
- Multiplies each component of this TRGBCompactColor by the specified scalar.
- Multiplies the components of this TRGBCompactColor by the components of the specified color.
Calling Context:
- Call this operator directly.
- Call this operator directly.
Parameters:
- const float aScalar -The multiplier.
- const TRGBCompactColor & aColor2 -The multiplier.
Return Value:
- Returns a new color with the new components.
- Returns a new color with the new components.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Multithread safe.
Other Considerations:
The values of the components are not clamped to the range 0 <= N <= 255.
TRGBCompactColor operator / (const float aScalar) const
Interface Category:
API.
Purpose:
Divides the components of this TRGBCompactColor by the specified scalar.
Calling Context:
Call this operator directly.
Parameters:
- const float aScalar -The divisor.
Return Value:
Returns this color with the new components.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Multithread safe.
Other Considerations:
None.
- TRGBCompactColor & operator += (const float aScalar)
- TRGBCompactColor & operator += (const TRGBCompactColor & aColor2)
Interface Category:
API.
Purpose:
- Adds the specified scalar to the components of this TRGBCompactColor and assigns the new values to the respective components.
- Adds the specified colors to the components of this TRGBCompactColor and assigns the new values to the respective components.
Calling Context:
- Call this operator directly.
- Call this operator directly.
Parameters:
- const float aScalar -The number to be added to this color.
- const TRGBCompactColor & aColor2 -The color to be added to this color.
Return Value:
Returns this color with the new components.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Multithread safe.
Other Considerations:
None.
- TRGBCompactColor & operator -=(const float aScalar)
- TRGBCompactColor & operator -=(const TRGBCompactColor & aColor2)
Interface Category:
API.
Purpose:
- Subtracts the specified scalar from the components of this TRGBCompactColor and assigns the new values to the respective components.
- Subtracts the specified scalar from the components of this TRGBCompactColor and assigns the new values to the respective components.
Calling Context:
- Call this operator directly.
- Call this operator directly.
Parameters:
- const float aScalar -The subtrahend.
- const TRGBCompactColor & aColor2 -The subtrahend.
Return Value:
- Returns this color with the new components.
- Returns this color with the new components.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Multithread safe.
Other Considerations:
None.
TRGBCompactColor & operator *= (const float aScalar)
Interface Category:
API.
Purpose:
Multiplies the components of this TRGBCompactColor by the specified scalar and assigns the new values to the respective components.
Calling Context:
Call this operator directly.
Parameters:
- const float aScalar -The multiplier.
Return Value:
Returns this color with the new components.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Multithread safe.
Other Considerations:
This function sets the opacity value to 255.
TRGBCompactColor & operator /= (const float aScalar)
Interface Category:
API.
Purpose:
Divides the components of this TRGBCompactColor by the specified scalar and assigns the new values to the respective components.
Calling Context:
Call this operator directly.
Parameters:
- const float aScalar -The divisor.
Return Value:
Returns this color with the new components.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Multithread safe.
Other Considerations:
This function sets the opacity value to 255.
- bool FuzzyCompare (const TRGBCompactColor & aRGBCompactColor, float acceptableErrorPerComponent =0.0001) const
- bool FuzzyCompare (const TRGBCompactColor & aRGBCompactColor, float errOpacity, float errRed, float errGreen, float errBlue) const
Interface Category:
API.
Purpose:
- Compares this TRGBCompactColor and the specified color with reference to the specified tolerance. It takes the absolute difference between the components of the color and compares them to a known value.
- Compares this TRGBCompactColor and the specified color to a given accuracy on a component-by-component level.
Calling Context:
- Call this function directly.
- Call this function directly.
Parameters:
- const TRGBCompactColor & aRGBCompactColor -The color that is compared to this color.
- float acceptableErrorPerComponent =0.0001 -The tolerance with which the two colors are compared.
- const TRGBCompactColor & aRGBCompactColor -The color that is compared to this color.
- float errOpacity -The tolerance with which the opacities of the two colors are compared.
- float errRed -The tolerance with which the red components of the two colors are compared.
- float errGreen -The tolerance with which the green components of the two colors are compared.
- float errBlue -The tolerance with which the blue components of the two colors are compared.
Return Value:
- Returns true if the two colors are equal within the specified tolerance.
- Returns true if the two colors are equal within the specified tolerance.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Multithread safe.
Other Considerations:
None.
Member Function: TRGBCompactColor::LinearInterpolate
void LinearInterpolate (const float aWeight, const TRGBCompactColor & aColor2)
Interface Category:
API.
Purpose:
Makes a weighted linear interpolation of each component of this TRGBCompactColor. The interpolation is returned in this color.
The interpolation that is done for each component is (using red as an example) given by red1 =red1 + (red2 -red1) * aWeight.
Calling Context:
Call this function directly.
Parameters:
- const float aWeight -The weight to use.
- const TRGBCompactColor & aColor2 -The color to be interpolated with this one.
Return Value:
None.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Multithread safe.
Other Considerations:
None.
void AddAndPin (const TRGBCompactColor & aColor2)
Interface Category:
API.
Purpose:
Adds the specified color to this TRGBCompactColor and then clamps the resulting values of the components.
Calling Context:
Call this function directly.
Parameters:
Return Value:
None.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Multithread safe.
Other Considerations:
None.
Member Function: TRGBCompactColor::SubtractAndPin
void SubtractAndPin (const TRGBCompactColor & aColor2)
Interface Category:
API.
Purpose:
Subtracts the specified color from this TRGBCompactColor and then clamps the resulting values of the components.
Calling Context:
Call this function directly.
Parameters:
Return Value:
None.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Multithread safe.
Other Considerations:
None.
void Maximum (const TRGBCompactColor & aColor2)
Interface Category:
API.
Purpose:
Determines the maximum of individual components of this TRGBCompactColor and the specified color. It sets the components of this color to the resulting maximum values.
Calling Context:
Call this function directly.
Parameters:
- const TRGBCompactColor & aColor2 -The color whose components are compared with this one.
Return Value:
None.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Multithread safe.
Other Considerations:
This function sets the opacity value to 255.
void Minimum (const TRGBCompactColor & aColor2)
Interface Category:
API.
Purpose:
Determines the minimum of individual components of this TRGBCompactColor and the specified color. It sets the components of this color to the resulting minimum values.
Calling Context:
Call this function directly.
Parameters:
- const TRGBCompactColor & aColor2 -The color whose components are compared with this one.
Return Value:
None.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Multithread safe.
Other Considerations:
None.
void Blend (const TRGBCompactColor & aColor2)
Interface Category:
API.
Purpose:
Averages the individual components of the two colors and returns them in this TRGBCompactColor.
Calling Context:
Call this function directly.
Parameters:
Return Value:
None.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Multithread safe.
Other Considerations:
This function sets the opacity value to 255.
void Invert ()
Interface Category:
API.
Purpose:
Inverts this TRGBCompactColor by subtracting the values of the individual components from 255.
Calling Context:
Call this function directly.
Parameters:
Return Value:
None.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Multithread safe.
Other Considerations:
This function sets the opacity value to 255.
void Clamp ()
Interface Category:
API.
Purpose:
Clamps the components of this TRGBCompactColor between 0 <= N <= 255. If any value is less than 0, it is set to 0, and if it is greater than 255, it is set to 255.
Calling Context:
Call this function directly.
Parameters:
Return Value:
None.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Multithread safe.
Other Considerations:
This function sets the opacity value to 255.
void Scale ()
Interface Category:
API.
Purpose:
Scales this TRGBCompactColor to 255. If all of the color's components are between 0 <= N <= 255, the color is untouched. If there are components with values greater than 255, then the largest component is used to renormalize the color.
If any of the color's components are less than 0, they are set to 0.
Calling Context:
Call this function directly.
Parameters:
Return Value:
None.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Multithread safe.
Other Considerations:
This function sets the opacity value to 255.
Member Function: TRGBCompactColor::TemporaryTypeID
virtual TemporaryColorClassID TemporaryTypeID () const
Interface Category:
API.
Purpose:
Returns TColor::kRGBCompactColor, an enumeration tag that identifies this class type.
Calling Context:
Call this function directly.
Parameters:
Return Value:
Returns TColor::kRGBCompactColor.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Multithread safe.
Other Considerations:
None.
Click the icon to mail questions or corrections about this material to Taligent personnel.
Copyright©1995 Taligent,Inc. All rights reserved.