Powered by Pair ImageMagick logo
Image Magick
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages

Magick::ColorHSL Class Reference

#include <Color.h>

Inheritance diagram for Magick::ColorHSL:

Inheritance graph
[legend]
Collaboration diagram for Magick::ColorHSL:

Collaboration graph
[legend]

Public Member Functions

 ColorHSL (double hue_, double saturation_, double luminosity_)
 ColorHSL (void)
 ColorHSL (const Color &color_)
 ~ColorHSL ()
void hue (double hue_)
double hue (void) const
void saturation (double saturation_)
double saturation (void) const
void luminosity (double luminosity_)
double luminosity (void) const
ColorHSLoperator= (const Color &color_)
 ColorHSL (double hue_, double saturation_, double luminosity_)
 ColorHSL (void)
 ColorHSL (const Color &color_)
 ~ColorHSL ()
void hue (double hue_)
double hue (void) const
void saturation (double saturation_)
double saturation (void) const
void luminosity (double luminosity_)
double luminosity (void) const
ColorHSLoperator= (const Color &color_)
void redQuantum (Quantum red_)
Quantum redQuantum (void) const
void redQuantum (Quantum red_)
Quantum redQuantum (void) const
void greenQuantum (Quantum green_)
Quantum greenQuantum (void) const
void greenQuantum (Quantum green_)
Quantum greenQuantum (void) const
void blueQuantum (Quantum blue_)
Quantum blueQuantum (void) const
void blueQuantum (Quantum blue_)
Quantum blueQuantum (void) const
void alphaQuantum (Quantum alpha_)
Quantum alphaQuantum (void) const
void alphaQuantum (Quantum alpha_)
Quantum alphaQuantum (void) const
void alpha (double alpha_)
double alpha (void) const
void alpha (double alpha_)
double alpha (void) const
void isValid (bool valid_)
bool isValid (void) const
void isValid (bool valid_)
bool isValid (void) const
 operator std::string () const
 operator std::string () const
 operator PixelPacket () const
 operator PixelPacket () const
double intensity (void) const
double intensity (void) const

Static Public Member Functions

Quantum scaleDoubleToQuantum (const double double_)
Quantum scaleDoubleToQuantum (const double double_)
double scaleQuantumToDouble (const Quantum quantum_)
double scaleQuantumToDouble (const double quantum_)
double scaleQuantumToDouble (const Quantum quantum_)
double scaleQuantumToDouble (const double quantum_)

Protected Types

enum  PixelType { RGBPixel, RGBAPixel, CYMKPixel }
enum  PixelType { RGBPixel, RGBAPixel, CYMKPixel }

Protected Member Functions

 ColorHSL (PixelPacket *rep_, PixelType pixelType_)
 ColorHSL (PixelPacket *rep_, PixelType pixelType_)
void pixel (PixelPacket *rep_, PixelType pixelType_)
void pixel (PixelPacket *rep_, PixelType pixelType_)

Protected Attributes

PixelPacket_pixel
PixelPacket_pixel

Member Enumeration Documentation

enum Magick::Color::PixelType [protected, inherited]
 

Enumeration values:
RGBPixel 
RGBAPixel 
CYMKPixel 

Definition at line 131 of file Color.h.

00132 { 00133 RGBPixel, 00134 RGBAPixel, 00135 CYMKPixel 00136 };

enum Magick::Color::PixelType [protected, inherited]
 

Enumeration values:
RGBPixel 
RGBAPixel 
CYMKPixel 

Definition at line 131 of file Color.h.

00132 { 00133 RGBPixel, 00134 RGBAPixel, 00135 CYMKPixel 00136 };


Constructor & Destructor Documentation

Magick::ColorHSL::ColorHSL double  hue_,
double  saturation_,
double  luminosity_
 

Definition at line 294 of file Color.cpp.

References Magick::Color::alphaQuantum(), Magick::Color::blueQuantum(), Magick::Color::greenQuantum(), HSLTransform(), OpaqueOpacity, Quantum, and Magick::Color::redQuantum().

00297 : Color () 00298 { 00299 Quantum red, green, blue; 00300 00301 HSLTransform ( hue_, 00302 saturation_, 00303 luminosity_, 00304 &red, 00305 &green, 00306 &blue ); 00307 00308 redQuantum ( red ); 00309 greenQuantum ( green ); 00310 blueQuantum ( blue ); 00311 alphaQuantum ( OpaqueOpacity ); 00312 }

Here is the call graph for this function:

Magick::ColorHSL::ColorHSL void   ) 
 

Definition at line 315 of file Color.cpp.

00316 : Color () 00317 { 00318 }

Magick::ColorHSL::ColorHSL const Color color_  ) 
 

Definition at line 321 of file Color.cpp.

00322 : Color( color_ ) 00323 { 00324 }

Magick::ColorHSL::~ColorHSL  ) 
 

Definition at line 327 of file Color.cpp.

00328 { 00329 // Nothing to do 00330 }

Magick::ColorHSL::ColorHSL PixelPacket rep_,
PixelType  pixelType_
[protected]
 

Magick::ColorHSL::ColorHSL double  hue_,
double  saturation_,
double  luminosity_
 

Magick::ColorHSL::ColorHSL void   ) 
 

Magick::ColorHSL::ColorHSL const Color color_  ) 
 

Magick::ColorHSL::~ColorHSL  ) 
 

Magick::ColorHSL::ColorHSL PixelPacket rep_,
PixelType  pixelType_
[protected]
 


Member Function Documentation

double Magick::Color::alpha void   )  const [inherited]
 

void Magick::Color::alpha double  alpha_  )  [inherited]
 

double Magick::Color::alpha void   )  const [inline, inherited]
 

Definition at line 375 of file Color.h.

References Magick::Color::alphaQuantum(), and Magick::Color::scaleQuantumToDouble().

00376 { 00377 return scaleQuantumToDouble( alphaQuantum() ); 00378 }

Here is the call graph for this function:

void Magick::Color::alpha double  alpha_  )  [inline, inherited]
 

Definition at line 371 of file Color.h.

References Magick::Color::alphaQuantum(), and Magick::Color::scaleDoubleToQuantum().

00372 { 00373 alphaQuantum( scaleDoubleToQuantum(alpha_) ); 00374 }

Here is the call graph for this function:

Quantum Magick::Color::alphaQuantum void   )  const [inherited]
 

void Magick::Color::alphaQuantum Quantum  alpha_  )  [inherited]
 

Magick::Quantum Magick::Color::alphaQuantum void   )  const [inline, inherited]
 

Definition at line 359 of file Color.h.

References Magick::Color::_pixel, and _PixelPacket::opacity.

Referenced by Magick::Color::alpha(), Magick::Color::Color(), Magick::ColorGray::ColorGray(), ColorHSL(), Magick::ColorMono::ColorMono(), Magick::ColorRGB::ColorRGB(), Magick::ColorYUV::ColorYUV(), and Magick::Color::operator=().

00360 { 00361 return _pixel->opacity; 00362 }

void Magick::Color::alphaQuantum Quantum  alpha_  )  [inline, inherited]
 

Definition at line 354 of file Color.h.

References Magick::Color::_pixel, and _PixelPacket::opacity.

00355 { 00356 _pixel->opacity = alpha_; 00357 }

Quantum Magick::Color::blueQuantum void   )  const [inherited]
 

void Magick::Color::blueQuantum Quantum  blue_  )  [inherited]
 

Magick::Quantum Magick::Color::blueQuantum void   )  const [inline, inherited]
 

Definition at line 349 of file Color.h.

References Magick::Color::_pixel, and _PixelPacket::blue.

Referenced by Magick::ColorRGB::blue(), Magick::Color::Color(), ColorHSL(), hue(), luminosity(), Magick::ColorMono::mono(), Magick::Color::operator=(), saturation(), Magick::ColorGray::shade(), Magick::ColorYUV::u(), Magick::ColorYUV::v(), and Magick::ColorYUV::y().

00350 { 00351 return _pixel->blue; 00352 }

void Magick::Color::blueQuantum Quantum  blue_  )  [inline, inherited]
 

Definition at line 344 of file Color.h.

References Magick::Color::_pixel, and _PixelPacket::blue.

Referenced by Magick::Image::backgroundColor(), Magick::Image::borderColor(), Magick::Image::matteColor(), Magick::operator<(), and Magick::operator==().

00345 { 00346 _pixel->blue = blue_; 00347 }

Quantum Magick::Color::greenQuantum void   )  const [inherited]
 

void Magick::Color::greenQuantum Quantum  green_  )  [inherited]
 

Magick::Quantum Magick::Color::greenQuantum void   )  const [inline, inherited]
 

Definition at line 339 of file Color.h.

References Magick::Color::_pixel, and _PixelPacket::green.

Referenced by Magick::Color::Color(), ColorHSL(), Magick::ColorRGB::green(), hue(), luminosity(), Magick::ColorMono::mono(), Magick::Color::operator=(), saturation(), Magick::ColorGray::shade(), Magick::ColorYUV::u(), Magick::ColorYUV::v(), and Magick::ColorYUV::y().

00340 { 00341 return _pixel->green; 00342 }

void Magick::Color::greenQuantum Quantum  green_  )  [inline, inherited]
 

Definition at line 334 of file Color.h.

References Magick::Color::_pixel, and _PixelPacket::green.

Referenced by Magick::Image::backgroundColor(), Magick::Image::borderColor(), Magick::Image::matteColor(), Magick::operator<(), and Magick::operator==().

00335 { 00336 _pixel->green = green_; 00337 }

double Magick::ColorHSL::hue void   )  const
 

void Magick::ColorHSL::hue double  hue_  ) 
 

double Magick::ColorHSL::hue void   )  const
 

Definition at line 358 of file Color.cpp.

References Magick::Color::blueQuantum(), Magick::Color::greenQuantum(), Magick::Color::redQuantum(), and TransformHSL().

00359 { 00360 double hue_val, saturation_val, luminosity_val; 00361 TransformHSL ( redQuantum(), 00362 greenQuantum(), 00363 blueQuantum(), 00364 &hue_val, 00365 &saturation_val, 00366 &luminosity_val ); 00367 return hue_val; 00368 }

Here is the call graph for this function:

void Magick::ColorHSL::hue double  hue_  ) 
 

Definition at line 332 of file Color.cpp.

References Magick::Color::blueQuantum(), Magick::Color::greenQuantum(), HSLTransform(), Quantum, Magick::Color::redQuantum(), and TransformHSL().

00333 { 00334 double hue_val, saturation_val, luminosity_val; 00335 TransformHSL ( redQuantum(), 00336 greenQuantum(), 00337 blueQuantum(), 00338 &hue_val, 00339 &saturation_val, 00340 &luminosity_val ); 00341 00342 hue_val = hue_; 00343 00344 Quantum red, green, blue; 00345 HSLTransform ( hue_val, 00346 saturation_val, 00347 luminosity_val, 00348 &red, 00349 &green, 00350 &blue 00351 ); 00352 00353 redQuantum ( red ); 00354 greenQuantum ( green ); 00355 blueQuantum ( blue ); 00356 }

Here is the call graph for this function:

double Magick::Color::intensity void   )  const [inline, inherited]
 

Definition at line 92 of file Color.h.

00093 { 00094 return (0.299*(_pixel->red)+0.587*(_pixel->green)+0.114*(_pixel->blue)); 00095 }

double Magick::Color::intensity void   )  const [inline, inherited]
 

Definition at line 92 of file Color.h.

Referenced by Magick::operator<().

00093 { 00094 return (0.299*(_pixel->red)+0.587*(_pixel->green)+0.114*(_pixel->blue)); 00095 }

bool Magick::Color::isValid void   )  const [inherited]
 

void Magick::Color::isValid bool  valid_  )  [inherited]
 

bool Magick::Color::isValid void   )  const [inherited]
 

Definition at line 269 of file Color.cpp.

References Magick::Color::_pixel, _PixelPacket::blue, _PixelPacket::green, _PixelPacket::opacity, _PixelPacket::red, and TransparentOpacity.

Referenced by Magick::Color::isValid(), and Magick::Color::operator std::string().

00270 { 00271 return( _pixel->opacity != TransparentOpacity || 00272 _pixel->red != 0 || 00273 _pixel->green != 0 || 00274 _pixel->blue != 0 ); 00275 }

void Magick::Color::isValid bool  valid_  )  [inherited]
 

Definition at line 276 of file Color.cpp.

References Magick::Color::_pixel, Magick::Color::_pixelOwn, Magick::Color::initPixel(), and Magick::Color::isValid().

Referenced by Magick::Image::backgroundColor(), Magick::Image::borderColor(), Magick::Image::colorize(), Magick::Image::colorMap(), Magick::Image::matteColor(), Magick::Image::opaque(), Magick::floodFillTextureImage::operator()(), Magick::floodFillColorImage::operator()(), Magick::operator==(), Magick::Image::pixelColor(), and Magick::Image::transparent().

00277 { 00278 if ( (valid_ && isValid()) || (!valid_ && !isValid()) ) 00279 return; 00280 00281 if ( !_pixelOwn ) 00282 { 00283 _pixel = new PixelPacket; 00284 _pixelOwn = true; 00285 } 00286 00287 initPixel(); 00288 }

Here is the call graph for this function:

double Magick::ColorHSL::luminosity void   )  const
 

void Magick::ColorHSL::luminosity double  luminosity_  ) 
 

double Magick::ColorHSL::luminosity void   )  const
 

Definition at line 434 of file Color.cpp.

References Magick::Color::blueQuantum(), Magick::Color::greenQuantum(), Magick::Color::redQuantum(), and TransformHSL().

00435 { 00436 double hue_val, saturation_val, luminosity_val; 00437 TransformHSL ( redQuantum(), 00438 greenQuantum(), 00439 blueQuantum(), 00440 &hue_val, 00441 &saturation_val, 00442 &luminosity_val ); 00443 return luminosity_val; 00444 }

Here is the call graph for this function:

void Magick::ColorHSL::luminosity double  luminosity_  ) 
 

Definition at line 408 of file Color.cpp.

References Magick::Color::blueQuantum(), Magick::Color::greenQuantum(), HSLTransform(), Quantum, Magick::Color::redQuantum(), and TransformHSL().

00409 { 00410 double hue_val, saturation_val, luminosity_val; 00411 TransformHSL ( redQuantum(), 00412 greenQuantum(), 00413 blueQuantum(), 00414 &hue_val, 00415 &saturation_val, 00416 &luminosity_val ); 00417 00418 luminosity_val = luminosity_; 00419 00420 Quantum red, green, blue; 00421 HSLTransform ( hue_val, 00422 saturation_val, 00423 luminosity_val, 00424 &red, 00425 &green, 00426 &blue 00427 ); 00428 00429 redQuantum ( red ); 00430 greenQuantum ( green ); 00431 blueQuantum ( blue ); 00432 }

Here is the call graph for this function:

Magick::Color::operator PixelPacket  )  const [inherited]
 

Magick::Color::operator PixelPacket  )  const [inherited]
 

Magick::Color::operator std::string  )  const [inherited]
 

Magick::Color::operator std::string  )  const [inherited]
 

Definition at line 224 of file Color.cpp.

References Magick::Color::_pixel, Magick::Color::_pixelType, _PixelPacket::blue, _MagickPixelPacket::blue, _MagickPixelPacket::colorspace, _MagickPixelPacket::depth, GetColorTuple(), _PixelPacket::green, _MagickPixelPacket::green, Magick::Color::isValid(), MagickFalse, MagickPixelPacket, MagickTrue, _MagickPixelPacket::matte, MaxTextExtent, _PixelPacket::opacity, _MagickPixelPacket::opacity, Magick::Color::pixel(), QuantumDepth, _PixelPacket::red, _MagickPixelPacket::red, Magick::Color::RGBAPixel, and RGBColorspace.

00225 { 00226 if ( !isValid() ) 00227 return std::string("none"); 00228 00229 char colorbuf[MaxTextExtent]; 00230 00231 MagickPixelPacket 00232 pixel; 00233 00234 pixel.colorspace=RGBColorspace; 00235 pixel.matte=_pixelType == RGBAPixel ? MagickTrue : MagickFalse; 00236 pixel.depth=QuantumDepth; 00237 pixel.red=_pixel->red; 00238 pixel.green=_pixel->green; 00239 pixel.blue=_pixel->blue; 00240 pixel.opacity=_pixel->opacity; 00241 GetColorTuple( &pixel, MagickTrue, colorbuf ); 00242 00243 return std::string(colorbuf); 00244 }

Here is the call graph for this function:

ColorHSL& Magick::ColorHSL::operator= const Color color_  ) 
 

Reimplemented from Magick::Color.

Magick::ColorHSL & Magick::ColorHSL::operator= const Color color_  ) 
 

Reimplemented from Magick::Color.

Definition at line 447 of file Color.cpp.

00448 { 00449 *static_cast<Magick::Color*>(this) = color_; 00450 return *this; 00451 }

void Magick::Color::pixel PixelPacket rep_,
PixelType  pixelType_
[protected, inherited]
 

void Magick::Color::pixel PixelPacket rep_,
PixelType  pixelType_
[protected, inherited]
 

Definition at line 259 of file Color.cpp.

References Magick::Color::_pixel, Magick::Color::_pixelOwn, Magick::Color::_pixelType, and Magick::Color::pixel().

Referenced by Magick::Color::operator std::string(), and Magick::Color::pixel().

00260 { 00261 if ( _pixelOwn ) 00262 delete _pixel; 00263 _pixel = rep_; 00264 _pixelOwn = false; 00265 _pixelType = pixelType_; 00266 }

Here is the call graph for this function:

Quantum Magick::Color::redQuantum void   )  const [inherited]
 

void Magick::Color::redQuantum Quantum  red_  )  [inherited]
 

Magick::Quantum Magick::Color::redQuantum void   )  const [inline, inherited]
 

Definition at line 329 of file Color.h.

References Magick::Color::_pixel, and _PixelPacket::red.

Referenced by Magick::Color::Color(), ColorHSL(), hue(), luminosity(), Magick::ColorMono::mono(), Magick::Color::operator=(), Magick::ColorRGB::red(), saturation(), Magick::ColorGray::shade(), Magick::ColorYUV::u(), Magick::ColorYUV::v(), and Magick::ColorYUV::y().

00330 { 00331 return _pixel->red; 00332 }

void Magick::Color::redQuantum Quantum  red_  )  [inline, inherited]
 

Definition at line 324 of file Color.h.

References Magick::Color::_pixel, and _PixelPacket::red.

Referenced by Magick::Image::backgroundColor(), Magick::Image::borderColor(), Magick::Image::matteColor(), Magick::operator<(), and Magick::operator==().

00325 { 00326 _pixel->red = red_; 00327 }

double Magick::ColorHSL::saturation void   )  const
 

void Magick::ColorHSL::saturation double  saturation_  ) 
 

double Magick::ColorHSL::saturation void   )  const
 

Definition at line 396 of file Color.cpp.

References Magick::Color::blueQuantum(), Magick::Color::greenQuantum(), Magick::Color::redQuantum(), and TransformHSL().

00397 { 00398 double hue_val, saturation_val, luminosity_val; 00399 TransformHSL ( redQuantum(), 00400 greenQuantum(), 00401 blueQuantum(), 00402 &hue_val, 00403 &saturation_val, 00404 &luminosity_val ); 00405 return saturation_val; 00406 }

Here is the call graph for this function:

void Magick::ColorHSL::saturation double  saturation_  ) 
 

Definition at line 370 of file Color.cpp.

References Magick::Color::blueQuantum(), Magick::Color::greenQuantum(), HSLTransform(), Quantum, Magick::Color::redQuantum(), and TransformHSL().

00371 { 00372 double hue_val, saturation_val, luminosity_val; 00373 TransformHSL ( redQuantum(), 00374 greenQuantum(), 00375 blueQuantum(), 00376 &hue_val, 00377 &saturation_val, 00378 &luminosity_val ); 00379 00380 saturation_val = saturation_; 00381 00382 Quantum red, green, blue; 00383 HSLTransform ( hue_val, 00384 saturation_val, 00385 luminosity_val, 00386 &red, 00387 &green, 00388 &blue 00389 ); 00390 00391 redQuantum ( red ); 00392 greenQuantum ( green ); 00393 blueQuantum ( blue ); 00394 }

Here is the call graph for this function:

Quantum Magick::Color::scaleDoubleToQuantum const double  double_  )  [inline, static, inherited]
 

Definition at line 98 of file Color.h.

References MaxRGB, and Quantum.

00099 { 00100 return (static_cast<Magick::Quantum>(double_*MaxRGB)); 00101 }

Quantum Magick::Color::scaleDoubleToQuantum const double  double_  )  [inline, static, inherited]
 

Definition at line 98 of file Color.h.

References MaxRGB, and Quantum.

Referenced by Magick::Color::alpha().

00099 { 00100 return (static_cast<Magick::Quantum>(double_*MaxRGB)); 00101 }

double Magick::Color::scaleQuantumToDouble const double  quantum_  )  [inline, static, inherited]
 

Definition at line 108 of file Color.h.

References MaxRGB.

00109 { 00110 return (quantum_/MaxRGB); 00111 }

double Magick::Color::scaleQuantumToDouble const Quantum  quantum_  )  [inline, static, inherited]
 

Definition at line 104 of file Color.h.

References MaxRGB.

00105 { 00106 return (static_cast<double>(quantum_)/MaxRGB); 00107 }

double Magick::Color::scaleQuantumToDouble const double  quantum_  )  [inline, static, inherited]
 

Definition at line 108 of file Color.h.

References MaxRGB.

00109 { 00110 return (quantum_/MaxRGB); 00111 }

double Magick::Color::scaleQuantumToDouble const Quantum  quantum_  )  [inline, static, inherited]
 

Definition at line 104 of file Color.h.

References MaxRGB.

Referenced by Magick::Color::alpha().

00105 { 00106 return (static_cast<double>(quantum_)/MaxRGB); 00107 }


Field Documentation

PixelPacket* Magick::Color::_pixel [protected, inherited]
 

Definition at line 152 of file Color.h.

PixelPacket* Magick::Color::_pixel [protected, inherited]
 

Definition at line 152 of file Color.h.

Referenced by Magick::Color::alphaQuantum(), Magick::Color::blueQuantum(), Magick::Color::Color(), Magick::Color::greenQuantum(), Magick::Color::initPixel(), Magick::Color::isValid(), Magick::Color::operator std::string(), Magick::Color::operator=(), Magick::Color::pixel(), Magick::Color::redQuantum(), and