Skip to main content
All docs
V24.2

DevExpress v24.2 Update — Your Feedback Matters

Our What's New in v24.2 webpage includes product-specific surveys. Your response to our survey questions will help us measure product satisfaction for features released in this major update and help us refine our plans for our next major release.

Take the survey Not interested

TdxChartPalette.GetColorsForIndex(Integer) Method

Returns a stored or interpolated palette item for the target index.

#Declaration

Delphi
function GetColorsForIndex(AIndex: Integer): TdxChartPaletteItem;

#Parameters

Name Type Description
AIndex Integer

The target palette item index (0 or a positive value):

  • If the specified index is equal to or less than the maximum stored item index, the function returns a stored palette item accessible through the Items property.
  • If the specified index exceeds the maximum stored item index, the function returns a palette item with interpolated colors based on colors of stored palette items.

Note

As the specified index increases, the difference between two adjacent interpolated colors becomes less distinguishable.

#Returns

Type Description
TdxChartPaletteItem

A stored or interpolated palette item.

#Remarks

While a Chart palette (a TdxChartPalette class descendant instance) stores a finite number of items, you can call the GetColorsForIndex function to generate any number of palette items whose Color and Color2 field values are interpolated based on stored palette item colors.

#Code Example: Generate Unique Point Marker Colors

The following code example demonstrates a diagram’s OnGetSeriesPointDrawParameters event handler that uses the Slipstream predefined palette to generate unique fill colors for all point markers in the Europe series:

procedure TFeaturesDemoMainForm.cdLineGetSeriesPointDrawParameters(
  Sender: TdxChartCustomDiagram;
  AArgs: TdxChartGetSeriesPointDrawParametersEventArgs);
var
  ALineDrawParameters: TdxChartLineSeriesPointDrawParameters;
  APalette: TdxChartPalette;
  APaletteItem: TdxChartPaletteItem;
begin
  APalette := TdxChartStandardPaletteRepository.FindPalette('Slipstream');
  if AArgs.SeriesPoint.Series.Caption = 'Europe' then
  begin
    if AArgs.DrawParameters.ClassType <> TdxChartLineSeriesPointDrawParameters then Exit;
    ALineDrawParameters := AArgs.DrawParameters as TdxChartLineSeriesPointDrawParameters;
    APaletteItem := APalette.GetColorsForIndex(AArgs.SeriesPoint.Index);
    ALineDrawParameters.MarkerAppearance.FillOptions.Color := APaletteItem.Color;
  end;
end;

VCL Chart Control: Unique Line Marker Colors

See Also