HotXLS Docs

TXLSXChartLayout class

TXLSXChartLayout saugo laukus išsaugojantį rankinį schemų, diagramos ar ašių pavadinimų ir legendų išdėstymą

Deklaravimas

type
  TXLSXChartLayoutTarget = (xlsxChartLayoutOuter, xlsxChartLayoutInner);
  TXLSXChartLayoutMode = (xlsxChartLayoutFactor, xlsxChartLayoutEdge);

  TXLSXChartLayout = class
    property Enabled: Boolean;
    property HasTarget: Boolean;
    property HasXMode, HasYMode, HasWidthMode, HasHeightMode: Boolean;
    property HasX, HasY, HasWidth, HasHeight: Boolean;
    property Target: TXLSXChartLayoutTarget;
    property XMode, YMode, WidthMode, HeightMode: TXLSXChartLayoutMode;
    property X, Y, Width, Height: Double;
    procedure ClearTarget;
    procedure ClearXMode;
    procedure ClearYMode;
    procedure ClearWidthMode;
    procedure ClearHeightMode;
    procedure ClearX;
    procedure ClearY;
    procedure ClearWidth;
    procedure ClearHeight;
    procedure SetPositionAndSize(AX, AY, AWidth, AHeight: Double);
    procedure Assign(Source: TXLSXChartLayout);
    procedure Clear;
  end;

Koordinatinis modelis

X, Y, Width ir Height normalizuojami diagramos stačiakampio atžvilgiu. Kraštiniai X ir Y — kairės ir viršutinės koordinatės, kraštinis plotis ir aukštis — dešinės ir apatinės koordinatės, daiksnio X ir Y perstuma automatinę poziciją, o daiksnio plotis ir aukštis — diagramai santykiniai dydžiai
Modelis kiekvieną lauką ir režimą išlaiko atskirai. Įkeltos praleistos reikšmės lieka praleistos, o negaliojantys skaitiniai įrašai išgyvena nepakeistą išsaugojimą — atvaizdavimas tuomet grįžta prie automatinės geometrijos
Pavadinimų išdėstymuose gali būti tik X ir Y, o automatiškai išmatuotas dydis išlaikomas. Schemų ir legendų išdėstymams reikia visų keturių koordinačių
SetPositionAndSize vienu kvietimu priskiria visas keturias reikšmes, pažymi jų režimus kaip esamus ir įjungia išdėstymą. Atskiros koordinačių nustatymo metodai taip pat įjungia išdėstymą

Režimai ir target

xlsxChartLayoutEdgePozicija nuo diagramos krašto; pagal numatymą naudojama X ir Y
xlsxChartLayoutFactorDydžio arba poslinkio daiksnis; pagal numatymą naudojamas pločiui ir aukščiui
TargetVidinis arba išorinis schemos stačiakampis; prasminga tik PlotAreaLayout

Sprendimas ir konvertavimas

TXLSXChartLayoutResolver puslapių skaidymo, SVG, PDF, vaizdo, peržiūros, spausdinimo, žiūryklės ir HTML išvestims vieną kartą išsprendžia pavadinimo, legendos, vidinės ir išorinės schemos srities bei ašies pavadinimo stačiakampius. Negaliojanti arba nepilna geometrija palieka automatinį stačiakampį, o galiojantis už ribų išėjęs stačiakampis nekeisdamas dydžio perstumiamas į artimiausią vietą diagramoje
ODF konvertavimas išspręstą geometriją susieja su absoliučiais diagramos atstumais. Pavadinimas ir legenda naudoja svg:x ir svg:y, o schemos sritis dar ir svg:width su svg:height. Rankinė ODF legenda praleidžia chart:legend-position, nes tas atributas perrašo absoliučias koordinates

Pavyzdys

Chart.PlotAreaLayout.Target := xlsxChartLayoutInner;
Chart.PlotAreaLayout.SetPositionAndSize(0.12, 0.18, 0.72, 0.64);
Chart.TitleLayout.SetPositionAndSize(0.1, 0.02, 0.6, 0.12);
Chart.LegendLayout.SetPositionAndSize(0.2, 0.84, 0.6, 0.1);

Taip pat žiūrėkite