GDAL
Public Member Functions | Static Public Member Functions | List of all members
GDALColorTable Class Reference

A color table / palette. More...

#include <gdal_priv.h>

Public Member Functions

 GDALColorTable (GDALPaletteInterp=GPI_RGB)
 Construct a new color table. More...
 
 ~GDALColorTable ()
 Destructor. More...
 
GDALColorTableClone () const
 Make a copy of a color table. More...
 
int IsSame (const GDALColorTable *poOtherCT) const
 Returns if the current color table is the same as another one. More...
 
GDALPaletteInterp GetPaletteInterpretation () const
 Fetch palette interpretation. More...
 
int GetColorEntryCount () const
 Get number of color entries in table. More...
 
const GDALColorEntryGetColorEntry (int) const
 Fetch a color entry from table. More...
 
int GetColorEntryAsRGB (int, GDALColorEntry *) const
 Fetch a table entry in RGB format. More...
 
void SetColorEntry (int, const GDALColorEntry *)
 Set entry in color table. More...
 
int CreateColorRamp (int, const GDALColorEntry *, int, const GDALColorEntry *)
 Create color ramp. More...
 
bool IsIdentity () const
 Returns if the current color table is the identity, that is for each index i, colortable[i].c1 = .c2 = .c3 = i and .c4 = 255. More...
 

Static Public Member Functions

static GDALColorTableH ToHandle (GDALColorTable *poCT)
 Convert a GDALColorTable* to a GDALRasterBandH. More...
 
static GDALColorTableFromHandle (GDALColorTableH hCT)
 Convert a GDALColorTableH to a GDALColorTable*. More...
 

Detailed Description

A color table / palette.

Constructor & Destructor Documentation

◆ GDALColorTable()

GDALColorTable::GDALColorTable ( GDALPaletteInterp  eInterpIn = GPI_RGB)
explicit

Construct a new color table.

This constructor is the same as the C GDALCreateColorTable() function.

Parameters
eInterpInthe interpretation to be applied to GDALColorEntry values.

◆ ~GDALColorTable()

GDALColorTable::~GDALColorTable ( )
default

Destructor.

This destructor is the same as the C GDALDestroyColorTable() function.

Member Function Documentation

◆ Clone()

GDALColorTable * GDALColorTable::Clone ( ) const

Make a copy of a color table.

This method is the same as the C function GDALCloneColorTable().

◆ CreateColorRamp()

int GDALColorTable::CreateColorRamp ( int  nStartIndex,
const GDALColorEntry psStartColor,
int  nEndIndex,
const GDALColorEntry psEndColor 
)

Create color ramp.

Automatically creates a color ramp from one color entry to another. It can be called several times to create multiples ramps in the same color table.

This function is the same as the C function GDALCreateColorRamp().

Parameters
nStartIndexindex to start the ramp on the color table [0..255]
psStartColora color entry value to start the ramp
nEndIndexindex to end the ramp on the color table [0..255]
psEndColora color entry value to end the ramp
Returns
total number of entries, -1 to report error

◆ FromHandle()

static GDALColorTable * GDALColorTable::FromHandle ( GDALColorTableH  hCT)
inlinestatic

Convert a GDALColorTableH to a GDALColorTable*.

Since
GDAL 2.3

◆ GetColorEntry()

const GDALColorEntry * GDALColorTable::GetColorEntry ( int  i) const

Fetch a color entry from table.

This method is the same as the C function GDALGetColorEntry().

Parameters
ientry offset from zero to GetColorEntryCount()-1.
Returns
pointer to internal color entry, or NULL if index is out of range.

◆ GetColorEntryAsRGB()

int GDALColorTable::GetColorEntryAsRGB ( int  i,
GDALColorEntry poEntry 
) const

Fetch a table entry in RGB format.

In theory this method should support translation of color palettes in non-RGB color spaces into RGB on the fly, but currently it only works on RGB color tables.

This method is the same as the C function GDALGetColorEntryAsRGB().

Parameters
ientry offset from zero to GetColorEntryCount()-1.
poEntrythe existing GDALColorEntry to be overrwritten with the RGB values.
Returns
TRUE on success, or FALSE if the conversion isn't supported.

◆ GetColorEntryCount()

int GDALColorTable::GetColorEntryCount ( ) const

Get number of color entries in table.

This method is the same as the function GDALGetColorEntryCount().

Returns
the number of color entries.

◆ GetPaletteInterpretation()

GDALPaletteInterp GDALColorTable::GetPaletteInterpretation ( ) const

Fetch palette interpretation.

The returned value is used to interpret the values in the GDALColorEntry.

This method is the same as the C function GDALGetPaletteInterpretation().

Returns
palette interpretation enumeration value, usually GPI_RGB.

◆ IsIdentity()

bool GDALColorTable::IsIdentity ( ) const

Returns if the current color table is the identity, that is for each index i, colortable[i].c1 = .c2 = .c3 = i and .c4 = 255.

Since
GDAL 3.4.1

◆ IsSame()

int GDALColorTable::IsSame ( const GDALColorTable poOtherCT) const

Returns if the current color table is the same as another one.

Parameters
poOtherCTother color table to be compared to.
Returns
TRUE if both color tables are identical.
Since
GDAL 2.0

◆ SetColorEntry()

void GDALColorTable::SetColorEntry ( int  i,
const GDALColorEntry poEntry 
)

Set entry in color table.

Note that the passed in color entry is copied, and no internal reference to it is maintained. Also, the passed in entry must match the color interpretation of the table to which it is being assigned.

The table is grown as needed to hold the supplied offset.

This function is the same as the C function GDALSetColorEntry().

Parameters
ientry offset from zero to GetColorEntryCount()-1.
poEntryvalue to assign to table.

◆ ToHandle()

static GDALColorTableH GDALColorTable::ToHandle ( GDALColorTable poCT)
inlinestatic

Convert a GDALColorTable* to a GDALRasterBandH.

Since
GDAL 2.3

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