TXLSXChartLayout guarda un diseño manual que preserva los campos para áreas de trazado, títulos de gráfico o de eje y leyendas
Declaración
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;
Modelo de coordenadas
X, Y, Width y Height se normalizan respecto al rectángulo del gráfico. El X y Y de Edge son las coordenadas izquierda y superior, el ancho y alto de Edge son las coordenadas derecha e inferior, el X y Y de Factor desplazan la posición automática, y el ancho y alto de Factor son tamaños relativos al gráfico
El modelo retiene cada campo y modo de forma independiente. Las omisiones cargadas siguen omitidas y los tokens numéricos no válidos sobreviven a un guardado sin cambios, mientras que la representación recurre a la geometría automática
Los diseños de título pueden contener solo X e Y y conservar el tamaño medido automáticamente. Los diseños de área de trazado y leyenda requieren las cuatro coordenadas
SetPositionAndSize asigna los cuatro valores, marca sus modos como presentes y habilita el diseño en una sola llamada. Los setters individuales de coordenadas también habilitan el diseño
Modos y objetivo
| xlsxChartLayoutEdge | Posición desde el borde del gráfico, usada por defecto para X e Y |
| xlsxChartLayoutFactor | Factor de tamaño o desplazamiento, usado por defecto para ancho y alto |
| Target | Rectángulo de trazado interior o exterior, con significado solo para PlotAreaLayout |
Resolución y conversión
TXLSXChartLayoutResolver resuelve los rectángulos de título, leyenda, área de trazado interior y exterior, y títulos de eje una sola vez para la salida de paginación, SVG, PDF, imagen, vista previa, impresión, visor y HTML. La geometría no válida o incompleta conserva el rectángulo automático, mientras que un rectángulo válido fuera de los límites se mueve a la posición más cercana dentro del gráfico sin cambiar de tamaño
La conversión ODF mapea la geometría resuelta a distancias absolutas del gráfico. Título y leyenda usan svg:x y svg:y, mientras que el área de trazado también usa svg:width y svg:height. Una leyenda ODF manual omite chart:legend-position porque ese atributo prevalece sobre las coordenadas absolutas
Ejemplo
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);
Véase también