The color creation and management class.
Colors are defined by their red, green and blue components, simply called the RGB components. The colors are also known by the hue, light and saturation components also known as the HLS components. When a new color is created the components of both color systems are computed.
At initialization time, a table of colors is generated. An existing color can be retrieved by its index:
Then it can be manipulated. For example its RGB components can be modified:
A new color can be created the following way:
Two sets of colors are initialized;
The following image displays the 50 basic colors.
The wheel contains the recommended 216 colors to be used in web applications.
The colors in the color wheel are created by TColor::CreateColorWheel
.
Using this color set for your text, background or graphics will give your application a consistent appearance across different platforms and browsers.
Colors are grouped by hue, the aspect most important in human perception. Touching color chips have the same hue, but with different brightness and vividness.
Colors of slightly different hues clash. If you intend to display colors of the same hue together, you should pick them from the same group.
Each color chip is identified by a mnemonic (e.g. kYellow) and a number. The keywords, kRed, kBlue, kYellow, kPink, etc are defined in the header file Rtypes.h that is included in all ROOT other header files. It is better to use these keywords in user code instead of hardcoded color numbers, e.g.:
The complete list of predefined color names is the following:
Note the special role of color kWhite
(color number 0). It is the default background color also. For instance in a PDF or PS files (as paper is usually white) it is simply not painted. To have a white color behaving like the other color the simplest is to define an other white color not attached to the color index 0:
The dark and bright color are used to give 3-D effects when drawing various boxes (see TWbox, TPave, TPaveText, TPaveLabel, etc).
One can toggle between a grayscale preview and the regular colored mode using TCanvas::SetGrayscale()
. Note that in grayscale mode, access via RGB will return grayscale values according to ITU standards (and close to b&w printer gray-scales), while access via HLS returns de-saturated gray-scales. The image below shows the ROOT color wheel in grayscale mode.
It is often very useful to represent a variable with a color map. The concept of "color palette" allows to do that. One color palette is active at any time. This "current palette" is set using:
This function has two parameters: the number of colors in the palette and an array of containing the indices of colors in the palette. The following small example demonstrates how to define and use the color palette:
To define more a complex palette with a continuous gradient of color, one should use the static function TColor::CreateGradientColorTable()
. The following example demonstrates how to proceed:
The function TColor::CreateGradientColorTable()
automatically calls gStyle->SetPalette()
, so there is not need to add one.
After a call to TColor::CreateGradientColorTable()
it is sometimes useful to store the newly create palette for further use. In particular, it is recommended to do if one wants to switch between several user define palettes. To store a palette in an array it is enough to do:
Later on to reuse the palette MyPalette
it will be enough to do
As only one palette is active, one need to use TExec
to be able to display plots using different palettes on the same pad. The tutorial multipalette.C illustrates this feature.
gStyle->SetPalette(num)
. num
can be taken within the following enum:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Once a palette is defined, it is possible to invert the color order thanks to the method TColor::InvertPalette. The top of the palette becomes the bottom and vice versa.
To make a graphics object transparent it is enough to set its color to a transparent one. The color transparency is defined via its alpha component. The alpha value varies from 0.
(fully transparent) to 1.
(fully opaque). To set the alpha value of an existing color it is enough to do:
A new color can be created transparent the following way:
An example of transparency usage with parallel coordinates can be found in parallelcoordtrans.C.
To ease the creation of a transparent color the static method GetColorTransparent(Int_t color, Float_t a)
is provided. In the following example the trans_red
color index point to a red color 30% transparent. The alpha value of the color index kRed
is not modified.
This function is also used in the methods SetFillColorAlpha()
, SetLineColorAlpha()
, SetMarkerColorAlpha()
and SetTextColorAlpha()
. In the following example the fill color of the histogram histo
is set to blue with a transparency of 35%. The color kBlue
itself remains fully opaque.
The transparency is available on all platforms when the flag OpenGL.CanvasPreferGL
is set to 1
in $ROOTSYS/etc/system.rootrc
, or on Mac with the Cocoa backend. On the file output it is visible with PDF, PNG, Gif, JPEG, SVG, TeX ... but not PostScript. The following macro gives an example of transparency usage:
Public Member Functions | |
TColor () | |
Default constructor. More... | |
TColor (const TColor &color) | |
Color copy constructor. More... | |
TColor (Float_t r, Float_t g, Float_t b, Float_t a=1) | |
Fast TColor constructor. More... | |
TColor (Int_t color, Float_t r, Float_t g, Float_t b, const char *name="", Float_t a=1) | |
Normal color constructor. More... | |
virtual | ~TColor () |
Color destructor. More... | |
const char * | AsHexString () const |
Return color as hexadecimal string. More... | |
void | Copy (TObject &color) const |
Copy this color to obj. More... | |
Float_t | GetAlpha () const |
Float_t | GetBlue () const |
virtual Float_t | GetGrayscale () const |
Float_t | GetGreen () const |
virtual void | GetHLS (Float_t &h, Float_t &l, Float_t &s) const |
Float_t | GetHue () const |
Float_t | GetLight () const |
Int_t | GetNumber () const |
ULong_t | GetPixel () const |
Return pixel value corresponding to this color. More... | |
Float_t | GetRed () const |
virtual void | GetRGB (Float_t &r, Float_t &g, Float_t &b) const |
Float_t | GetSaturation () const |
virtual void | ls (Option_t *option="") const |
List this color with its attributes. More... | |
TColor & | operator= (const TColor &color) |
virtual void | Print (Option_t *option="") const |
Dump this color with its attributes. More... | |
virtual void | SetAlpha (Float_t a) |
virtual void | SetRGB (Float_t r, Float_t g, Float_t b) |
Initialize this color and its associated colors. More... | |
Public Member Functions inherited from TNamed | |
TNamed () | |
TNamed (const char *name, const char *title) | |
TNamed (const TNamed &named) | |
TNamed copy ctor. More... | |
TNamed (const TString &name, const TString &title) | |
virtual | ~TNamed () |
TNamed destructor. More... | |
virtual void | Clear (Option_t *option="") |
Set name and title to empty strings (""). More... | |
virtual TObject * | Clone (const char *newname="") const |
Make a clone of an object using the Streamer facility. More... | |
virtual Int_t | Compare (const TObject *obj) const |
Compare two TNamed objects. More... | |
virtual void | Copy (TObject &named) const |
Copy this to obj. More... | |
virtual void | FillBuffer (char *&buffer) |
Encode TNamed into output buffer. More... | |
virtual const char * | GetName () const |
Returns name of object. More... | |
virtual const char * | GetTitle () const |
Returns title of object. More... | |
virtual ULong_t | Hash () const |
Return hash value for this object. More... | |
virtual Bool_t | IsSortable () const |
virtual void | ls (Option_t *option="") const |
List TNamed name and title. More... | |
TNamed & | operator= (const TNamed &rhs) |
TNamed assignment operator. More... | |
virtual void | Print (Option_t *option="") const |
Print TNamed name and title. More... | |
virtual void | SetName (const char *name) |
Set the name of the TNamed. More... | |
virtual void | SetNameTitle (const char *name, const char *title) |
Set all the TNamed parameters (name and title). More... | |
virtual void | SetTitle (const char *title="") |
Set the title of the TNamed. More... | |
virtual Int_t | Sizeof () const |
Return size of the TNamed part of the TObject. More... | |
Public Member Functions inherited from TObject | |
TObject () | |
TObject constructor. More... | |
TObject (const TObject &object) | |
TObject copy ctor. More... | |
virtual | ~TObject () |
TObject destructor. More... | |
void | AbstractMethod (const char *method) const |
Use this method to implement an "abstract" method that you don't want to leave purely abstract. More... | |
virtual void | AppendPad (Option_t *option="") |
Append graphics object to current pad. More... | |
virtual void | Browse (TBrowser *b) |
Browse object. May be overridden for another default action. More... | |
ULong_t | CheckedHash () |
Check and record whether this class has a consistent Hash/RecursiveRemove setup (*) and then return the regular Hash value for this object. More... | |
virtual const char * | ClassName () const |
Returns name of class to which the object belongs. More... | |
virtual void | Clear (Option_t *="") |
virtual TObject * | Clone (const char *newname="") const |
Make a clone of an object using the Streamer facility. More... | |
virtual Int_t | Compare (const TObject *obj) const |
Compare abstract method. More... | |
virtual void | Copy (TObject &object) const |
Copy this to obj. More... | |
virtual void | Delete (Option_t *option="") |
Delete this object. More... | |
virtual Int_t | DistancetoPrimitive (Int_t px, Int_t py) |
Computes distance from point (px,py) to the object. More... | |
virtual void | Draw (Option_t *option="") |
Default Draw method for all objects. More... | |
virtual void | DrawClass () const |
Draw class inheritance tree of the class to which this object belongs. More... | |
virtual TObject * | DrawClone (Option_t *option="") const |
Draw a clone of this object in the current selected pad for instance with: gROOT->SetSelectedPad(gPad) . More... | |
virtual void | Dump () const |
Dump contents of object on stdout. More... | |
virtual void | Error (const char *method, const char *msgfmt,...) const |
Issue error message. More... | |
virtual void | Execute (const char *method, const char *params, Int_t *error=0) |
Execute method on this object with the given parameter string, e.g. More... | |
virtual void | Execute (TMethod *method, TObjArray *params, Int_t *error=0) |
Execute method on this object with parameters stored in the TObjArray. More... | |
virtual void | ExecuteEvent (Int_t event, Int_t px, Int_t py) |
Execute action corresponding to an event at (px,py). More... | |
virtual void | Fatal (const char *method, const char *msgfmt,...) const |
Issue fatal error message. More... | |
virtual TObject * | FindObject (const char *name) const |
Must be redefined in derived classes. More... | |
virtual TObject * | FindObject (const TObject *obj) const |
Must be redefined in derived classes. More... | |
virtual Option_t * | GetDrawOption () const |
Get option used by the graphics system to draw this object. More... | |
virtual const char * | GetIconName () const |
Returns mime type name of object. More... | |
virtual const char * | GetName () const |
Returns name of object. More... | |
virtual char * | GetObjectInfo (Int_t px, Int_t py) const |
Returns string containing info about the object at position (px,py). More... | |
virtual Option_t * | GetOption () const |
virtual const char * | GetTitle () const |
Returns title of object. More... | |
virtual UInt_t | GetUniqueID () const |
Return the unique object id. More... | |
virtual Bool_t | HandleTimer (TTimer *timer) |
Execute action in response of a timer timing out. More... | |
virtual ULong_t | Hash () const |
Return hash value for this object. More... | |
Bool_t | HasInconsistentHash () const |
Return true is the type of this object is known to have an inconsistent setup for Hash and RecursiveRemove (i.e. More... | |
virtual void | Info (const char *method, const char *msgfmt,...) const |
Issue info message. More... | |
virtual Bool_t | InheritsFrom (const char *classname) const |
Returns kTRUE if object inherits from class "classname". More... | |
virtual Bool_t | InheritsFrom (const TClass *cl) const |
Returns kTRUE if object inherits from TClass cl. More... | |
virtual void | Inspect () const |
Dump contents of this object in a graphics canvas. More... | |
void | InvertBit (UInt_t f) |
virtual Bool_t | IsEqual (const TObject *obj) const |
Default equal comparison (objects are equal if they have the same address in memory). More... | |
virtual Bool_t | IsFolder () const |
Returns kTRUE in case object contains browsable objects (like containers or lists of other objects). More... | |
R__ALWAYS_INLINE Bool_t | IsOnHeap () const |
virtual Bool_t | IsSortable () const |
R__ALWAYS_INLINE Bool_t | IsZombie () const |
virtual void | ls (Option_t *option="") const |
The ls function lists the contents of a class on stdout. More... | |
void | MayNotUse (const char *method) const |
Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary). More... | |
virtual Bool_t | Notify () |
This method must be overridden to handle object notification. More... | |
void | Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const |
Use this method to declare a method obsolete. More... | |
void | operator delete (void *ptr) |
Operator delete. More... | |
void | operator delete[] (void *ptr) |
Operator delete []. More... | |
void * | operator new (size_t sz) |
void * | operator new (size_t sz, void *vp) |
void * | operator new[] (size_t sz) |
void * | operator new[] (size_t sz, void *vp) |
TObject & | operator= (const TObject &rhs) |
TObject assignment operator. More... | |
virtual void | Paint (Option_t *option="") |
This method must be overridden if a class wants to paint itself. More... | |
virtual void | Pop () |
Pop on object drawn in a pad to the top of the display list. More... | |
virtual void | Print (Option_t *option="") const |
This method must be overridden when a class wants to print itself. More... | |
virtual Int_t | Read (const char *name) |
Read contents of object with specified name from the current directory. More... | |
virtual void | RecursiveRemove (TObject *obj) |
Recursively remove this object from a list. More... | |
void | ResetBit (UInt_t f) |
virtual void | SaveAs (const char *filename="", Option_t *option="") const |
Save this object in the file specified by filename. More... | |
virtual void | SavePrimitive (std::ostream &out, Option_t *option="") |
Save a primitive as a C++ statement(s) on output stream "out". More... | |
void | SetBit (UInt_t f) |
void | SetBit (UInt_t f, Bool_t set) |
Set or unset the user status bits as specified in f. More... | |
virtual void | SetDrawOption (Option_t *option="") |
Set drawing option for object. More... | |
virtual void | SetUniqueID (UInt_t uid) |
Set the unique object id. More... | |
virtual void | SysError (const char *method, const char *msgfmt,...) const |
Issue system error message. More... | |
R__ALWAYS_INLINE Bool_t | TestBit (UInt_t f) const |
Int_t | TestBits (UInt_t f) const |
virtual void | UseCurrentStyle () |
Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked. More... | |
virtual void | Warning (const char *method, const char *msgfmt,...) const |
Issue warning message. More... | |
virtual Int_t | Write (const char *name=0, Int_t option=0, Int_t bufsize=0) |
Write this object to the current directory. More... | |
virtual Int_t | Write (const char *name=0, Int_t option=0, Int_t bufsize=0) const |
Write this object to the current directory. More... | |
Static Public Member Functions | |
static void | CreateColorsCircle (Int_t offset, const char *name, UChar_t *rgb) |
Create the "circle" colors in the color wheel. More... | |
static void | CreateColorsGray () |
Create the Gray scale colors in the Color Wheel. More... | |
static void | CreateColorsRectangle (Int_t offset, const char *name, UChar_t *rgb) |
Create the "rectangular" colors in the color wheel. More... | |
static void | CreateColorWheel () |
Static function steering the creation of all colors in the color wheel. More... | |
static Int_t | CreateGradientColorTable (UInt_t Number, Double_t *Stops, Double_t *Red, Double_t *Green, Double_t *Blue, UInt_t NColors, Float_t alpha=1.) |
Static function creating a color table with several connected linear gradients. More... | |
static Bool_t | DefinedColors () |
Static function returning kTRUE if some new colors have been defined after initialisation or since the last call to this method. More... | |
static Int_t | GetColor (const char *hexcolor) |
Static method returning color number for color specified by hex color string of form: "#rrggbb", where rr, gg and bb are in hex between [0,FF], e.g. More... | |
static Int_t | GetColor (Float_t r, Float_t g, Float_t b) |
Static method returning color number for color specified by r, g and b. More... | |
static Int_t | GetColor (Int_t r, Int_t g, Int_t b) |
Static method returning color number for color specified by r, g and b. More... | |
static Int_t | GetColor (ULong_t pixel) |
Static method returning color number for color specified by system dependent pixel value. More... | |
static Int_t | GetColorBright (Int_t color) |
Static function: Returns the bright color number corresponding to n If the TColor object does not exist, it is created. More... | |
static Int_t | GetColorDark (Int_t color) |
Static function: Returns the dark color number corresponding to n If the TColor object does not exist, it is created. More... | |
static Int_t | GetColorPalette (Int_t i) |
Static function returning the color number i in current palette. More... | |
static Int_t | GetColorTransparent (Int_t color, Float_t a) |
Static function: Returns the transparent color number corresponding to n. More... | |
static Int_t | GetFreeColorIndex () |
Static function: Returns a free color index which can be used to define a user custom color. More... | |
static Int_t | GetNumberOfColors () |
Static function returning number of colors in the color palette. More... | |
static const TArrayI & | GetPalette () |
Static function returning the current active palette. More... | |
static void | HLS2RGB (Float_t h, Float_t l, Float_t s, Float_t &r, Float_t &g, Float_t &b) |
Static method to compute RGB from HLS. More... | |
static void | HLS2RGB (Int_t h, Int_t l, Int_t s, Int_t &r, Int_t &g, Int_t &b) |
Static method to compute RGB from HLS. More... | |
static void | HLStoRGB (Float_t h, Float_t l, Float_t s, Float_t &r, Float_t &g, Float_t &b) |
static void | HSV2RGB (Float_t h, Float_t s, Float_t v, Float_t &r, Float_t &g, Float_t &b) |
Static method to compute RGB from HSV: More... | |
static void | InitializeColors () |
Initialize colors used by the TCanvas based graphics (via TColor objects). More... | |
static void | InvertPalette () |
Invert the current color palette. More... | |
static Bool_t | IsGrayscale () |
Return whether all colors return grayscale values. More... | |
static ULong_t | Number2Pixel (Int_t ci) |
Static method that given a color index number, returns the corresponding pixel value. More... | |
static void | Pixel2RGB (ULong_t pixel, Float_t &r, Float_t &g, Float_t &b) |
Convert machine dependent pixel value (obtained via RGB2Pixel or via Number2Pixel() or via TColor::GetPixel()) to r,g,b triplet. More... | |
static void | Pixel2RGB (ULong_t pixel, Int_t &r, Int_t &g, Int_t &b) |
Convert machine dependent pixel value (obtained via RGB2Pixel or via Number2Pixel() or via TColor::GetPixel()) to r,g,b triplet. More... | |
static const char * | PixelAsHexString (ULong_t pixel) |
Convert machine dependent pixel value (obtained via RGB2Pixel or via Number2Pixel() or via TColor::GetPixel()) to a hexadecimal string. More... | |
static void | RGB2HLS (Float_t r, Float_t g, Float_t b, Float_t &h, Float_t &l, Float_t &s) |
Static method to compute HLS from RGB. More... | |
static void | RGB2HLS (Int_t r, Int_t g, Int_t b, Int_t &h, Int_t &l, Int_t &s) |
Static method to compute HLS from RGB. More... | |
static void | RGB2HSV (Float_t r, Float_t g, Float_t b, Float_t &h, Float_t &s, Float_t &v) |
Static method to compute HSV from RGB. More... | |
static ULong_t | RGB2Pixel (Float_t r, Float_t g, Float_t b) |
Convert r,g,b to graphics system dependent pixel value. More... | |
static ULong_t | RGB2Pixel (Int_t r, Int_t g, Int_t b) |
Convert r,g,b to graphics system dependent pixel value. More... | |
static void | RGBtoHLS (Float_t r, Float_t g, Float_t b, Float_t &h, Float_t &l, Float_t &s) |
static void | SaveColor (std::ostream &out, Int_t ci) |
Save a color with index > 228 as a C++ statement(s) on output stream out. More... | |
static void | SetColorThreshold (Float_t t) |
This method specifies the color threshold used by GetColor to retrieve a color. More... | |
static void | SetGrayscale (Bool_t set=kTRUE) |
Set whether all colors should return grayscale values. More... | |
static void | SetPalette (Int_t ncolors, Int_t *colors, Float_t alpha=1.) |
Static function. More... | |
Static Public Member Functions inherited from TObject | |
static Long_t | GetDtorOnly () |
Return destructor only flag. More... | |
static Bool_t | GetObjectStat () |
Get status of object stat flag. More... | |
static void | SetDtorOnly (void *obj) |
Set destructor only flag. More... | |
static void | SetObjectStat (Bool_t stat) |
Turn on/off tracking of objects in the TObjectTable. More... | |
Protected Attributes | |
Int_t | fNumber |
Color number identifier. More... | |
Protected Attributes inherited from TNamed | |
TString | fName |
TString | fTitle |
Private Member Functions | |
void | Allocate () |
Make this color known to the graphics system. More... | |
Static Private Member Functions | |
static Float_t | HLStoRGB1 (Float_t rn1, Float_t rn2, Float_t huei) |
Static method. Auxiliary to HLS2RGB(). More... | |
Private Attributes | |
Float_t | fAlpha |
Alpha (transparency) More... | |
Float_t | fBlue |
Fraction of Blue. More... | |
Float_t | fGreen |
Fraction of Green. More... | |
Float_t | fHue |
Hue. More... | |
Float_t | fLight |
Light. More... | |
Float_t | fRed |
Fraction of Red. More... | |
Float_t | fSaturation |
Saturation. More... | |
Additional Inherited Members | |
Public Types inherited from TObject | |
enum | { kIsOnHeap = 0x01000000 , kNotDeleted = 0x02000000 , kZombie = 0x04000000 , kInconsistent = 0x08000000 , kBitMask = 0x00ffffff } |
enum | { kSingleKey = BIT(0) , kOverwrite = BIT(1) , kWriteDelete = BIT(2) } |
enum | EDeprecatedStatusBits { kObjInCanvas = BIT(3) } |
enum | EStatusBits { kCanDelete = BIT(0) , kMustCleanup = BIT(3) , kIsReferenced = BIT(4) , kHasUUID = BIT(5) , kCannotPick = BIT(6) , kNoContextMenu = BIT(8) , kInvalidObject = BIT(13) } |
Protected Member Functions inherited from TObject | |
virtual void | DoError (int level, const char *location, const char *fmt, va_list va) const |
Interface to ErrorHandler (protected). More... | |
void | MakeZombie () |
#include <TColor.h>
TColor::TColor | ( | ) |
Default constructor.
Definition at line 983 of file TColor.cxx.
TColor::TColor | ( | Int_t | color, |
Float_t | r, | ||
Float_t | g, | ||
Float_t | b, | ||
const char * | name = "" , |
||
Float_t | a = 1 |
||
) |
Normal color constructor.
Initialize a color structure. Compute the RGB and HLS color components.
Definition at line 994 of file TColor.cxx.
Fast TColor constructor.
It creates a color with an index just above the current highest one. It does not name the color. This is useful to create palettes.
Definition at line 1039 of file TColor.cxx.
TColor::TColor | ( | const TColor & | color | ) |
Color copy constructor.
Definition at line 1067 of file TColor.cxx.
|
virtual |
Color destructor.
Definition at line 1058 of file TColor.cxx.
|
private |
Make this color known to the graphics system.
Definition at line 1749 of file TColor.cxx.
const char * TColor::AsHexString | ( | ) | const |
Return color as hexadecimal string.
This string can be directly passed to, for example, TGClient::GetColorByName(). String will be reused so copy immediately if needed.
Definition at line 1209 of file TColor.cxx.
Create the "circle" colors in the color wheel.
Definition at line 1262 of file TColor.cxx.
|
static |
Create the Gray scale colors in the Color Wheel.
Definition at line 1246 of file TColor.cxx.
Create the "rectangular" colors in the color wheel.
Definition at line 1282 of file TColor.cxx.
|
static |
Static function steering the creation of all colors in the color wheel.
Definition at line 1302 of file TColor.cxx.
|
static |
Static function creating a color table with several connected linear gradients.
Returns a positive value on success and -1 on error.
The table is constructed by tracing lines between the given points in RGB space. Each color value may have a value between 0 and 1. The difference between consecutive "Stops" values gives the fraction of space in the whole table that should be used for the interval between the corresponding color values.
Normally the first element of Stops should be 0 and the last should be 1. If this is not true, fewer than NColors will be used in proportion with the total interval between the first and last elements of Stops.
This definition is similar to the povray-definition of gradient color tables.
For instance:
This defines a table in which there are three color end points: RGB = {0, 0, 1}, {1, 0, 0}, and {1, 1, 1} = blue, red, white The first 40% of the table is used to go linearly from blue to red. The remaining 60% of the table is used to go linearly from red to white.
If you define a very short interval such that less than one color fits in it, no colors at all will be allocated. If this occurs for all intervals, ROOT will revert to the default palette.
Original code by Andreas Zoglauer (zog@m.nosp@m.pe.m.nosp@m.pg.de)
Definition at line 2215 of file TColor.cxx.
|
static |
Static function returning kTRUE if some new colors have been defined after initialisation or since the last call to this method.
This allows to avoid the colors and palette streaming in TCanvas::Streamer if not needed.
Definition at line 1420 of file TColor.cxx.
|
static |
Static method returning color number for color specified by hex color string of form: "#rrggbb", where rr, gg and bb are in hex between [0,FF], e.g.
"#c0c0c0".
If specified color does not exist it will be created with as name "#rrggbb" with rr, gg and bb in hex between [0,FF].
Definition at line 1764 of file TColor.cxx.
Static method returning color number for color specified by r, g and b.
The r,g,b should be in the range [0,1].
If specified color does not exist it will be created with as name "#rrggbb" with rr, gg and bb in hex between [0,FF].
Definition at line 1783 of file TColor.cxx.
Static method returning color number for color specified by r, g and b.
The r,g,b should be in the range [0,255]. If the specified color does not exist it will be created with as name "#rrggbb" with rr, gg and bb in hex between [0,FF].
Definition at line 1843 of file TColor.cxx.
Static method returning color number for color specified by system dependent pixel value.
Pixel values can be obtained, e.g., from the GUI color picker.
Definition at line 1798 of file TColor.cxx.
Static function: Returns the bright color number corresponding to n If the TColor object does not exist, it is created.
The convention is that the bright color nb = n+150
Definition at line 1903 of file TColor.cxx.
Static function: Returns the dark color number corresponding to n If the TColor object does not exist, it is created.
The convention is that the dark color nd = n+100
Definition at line 1935 of file TColor.cxx.
Static function returning the color number i in current palette.
Definition at line 1390 of file TColor.cxx.
Static function: Returns the transparent color number corresponding to n.
The transparency level is given by the alpha value a.
Definition at line 1966 of file TColor.cxx.
|
static |
Static function: Returns a free color index which can be used to define a user custom color.
Definition at line 1992 of file TColor.cxx.
|
inlinevirtual |
|
static |
Static function returning number of colors in the color palette.
Definition at line 1410 of file TColor.cxx.
|
static |
Static function returning the current active palette.
Definition at line 1402 of file TColor.cxx.
ULong_t TColor::GetPixel | ( | ) | const |
Return pixel value corresponding to this color.
This pixel value can be used in the GUI classes. This call does not work in batch mode since it needs to communicate with the graphics system.
Definition at line 1434 of file TColor.cxx.
|
static |
Static method to compute RGB from HLS.
The l and s are between [0,1] and h is between [0,360]. The returned r,g,b triplet is between [0,1].
Definition at line 1451 of file TColor.cxx.
Static method to compute RGB from HLS.
The h,l,s are between [0,255]. The returned r,g,b triplet is between [0,255].
Definition at line 1491 of file TColor.cxx.
Static method. Auxiliary to HLS2RGB().
Definition at line 1476 of file TColor.cxx.
|
static |
Static method to compute RGB from HSV:
The returned r,g,b triplet is between [0,1].
Definition at line 1517 of file TColor.cxx.
|
static |
Initialize colors used by the TCanvas based graphics (via TColor objects).
This method should be called before the ApplicationImp is created (which initializes the GUI colors).
Definition at line 1083 of file TColor.cxx.
|
static |
Invert the current color palette.
The top of the palette becomes the bottom and vice versa.
Definition at line 3123 of file TColor.cxx.
|
static |
Return whether all colors return grayscale values.
Definition at line 2146 of file TColor.cxx.
List this color with its attributes.
Reimplemented from TNamed.
Definition at line 1573 of file TColor.cxx.
Static method that given a color index number, returns the corresponding pixel value.
This pixel value can be used in the GUI classes. This call does not work in batch mode since it needs to communicate with the graphics system.
Definition at line 2003 of file TColor.cxx.
Definition at line 1072 of file TColor.cxx.
Convert machine dependent pixel value (obtained via RGB2Pixel or via Number2Pixel() or via TColor::GetPixel()) to r,g,b triplet.
The r,g,b triplet will be [0,1].
Definition at line 2064 of file TColor.cxx.
Convert machine dependent pixel value (obtained via RGB2Pixel or via Number2Pixel() or via TColor::GetPixel()) to r,g,b triplet.
The r,g,b triplet will be [0,255].
Definition at line 2079 of file TColor.cxx.
|
static |
Convert machine dependent pixel value (obtained via RGB2Pixel or via Number2Pixel() or via TColor::GetPixel()) to a hexadecimal string.
This string can be directly passed to, for example, TGClient::GetColorByName(). String will be reused so copy immediately if needed.
Definition at line 2096 of file TColor.cxx.
Dump this color with its attributes.
Reimplemented from TNamed.
Definition at line 1582 of file TColor.cxx.
|
static |
Static method to compute HLS from RGB.
The r,g,b triplet is between [0,1], hue is between [0,360], light and satur are [0,1].
Definition at line 1591 of file TColor.cxx.
Static method to compute HLS from RGB.
The r,g,b triplet is between [0,255], hue, light and satur are between [0,255].
Definition at line 1684 of file TColor.cxx.
|
static |
Static method to compute HSV from RGB.
Definition at line 1649 of file TColor.cxx.
Convert r,g,b to graphics system dependent pixel value.
The r,g,b triplet must be [0,1].
Definition at line 2019 of file TColor.cxx.
Convert r,g,b to graphics system dependent pixel value.
The r,g,b triplet must be [0,255].
Definition at line 2041 of file TColor.cxx.
Save a color with index > 228 as a C++ statement(s) on output stream out.
Definition at line 2108 of file TColor.cxx.
This method specifies the color threshold used by GetColor to retrieve a color.
[in] | t | Color threshold. By default is equal to 1./31. or 1./255. depending on the number of available color planes. |
When GetColor is called, it scans the defined colors and compare them to the requested color. If the Red Green and Blue values passed to GetColor are Rr Gr Br and Rd Gd Bd the values of a defined color. These two colors are considered equal if (abs(Rr-Rd) < t & abs(Br-Bd) < t & abs(Br-Bd) < t). If this test passes, the color defined by Rd Gd Bd is returned by GetColor.
To make sure GetColor will return a color having exactly the requested R G B values it is enough to specify a nul :
To reset the color threshold to its default value it is enough to do:
Definition at line 1831 of file TColor.cxx.
Set whether all colors should return grayscale values.
Definition at line 2154 of file TColor.cxx.
Static function.
The color palette is used by the histogram classes (see TH1::Draw options). For example TH1::Draw("col") draws a 2-D histogram with cells represented by a box filled with a color CI function of the cell content. if the cell content is N, the color CI used will be the color number in colors[N],etc. If the maximum cell content is > ncolors, all cell contents are scaled to ncolors.
if ncolors <= 0
a default palette (see below) of 50 colors is defined. The colors defined in this palette are OK for coloring pads, labels.
if ncolors == 1 && colors == 0
, a Rainbow Color map is created with 50 colors. It is kept for backward compatibility. Better palettes like kBird are recommended.
High quality predefined palettes with 255 colors are available when colors == 0
. The following value of ncolors
give access to:
These palettes can also be accessed by names:
For example:
Set the current palette as "Bird" (number 57).
The color numbers specified in the palette can be viewed by selecting the item "colors" in the "VIEW" menu of the canvas toolbar. The color parameters can be changed via TColor::SetRGB.
Note that when drawing a 2D histogram h2
with the option "COL" or "COLZ" or with any "CONT" options using the color map, the number of colors used is defined by the number of contours n
specified with: h2->SetContour(n)
Definition at line 2404 of file TColor.cxx.
Initialize this color and its associated colors.
Definition at line 1702 of file TColor.cxx.