PDA

Visualizza la versione completa : delphi-tchart-stampa composita


patino
26-09-2010, 16:18
In un form ho 5 TDBChart. Su ciascuna delle 5 vi sono alcune
Series (TLineSeries o TPointSeries). Avevo bisogno di evidenziare quei punti del
grafico che avessero certe caratteristiche :
ad esempio, se il punto (x1,y1) è tale che y1 soddisfa ad una certa condizione,
volevo il punto di un colore particolare invece che di quello associato alla series
ed usato dal componente per disegnare tutti i punti.
Per far questo si può usare qualcosa del genere :

for t := 0 to LineSeries2.Count - 1 do
if LineSeries2.YValue[ t ] < 56 then
LineSeries2.ValueColor[ t ] := clBlue
else
LineSeries2.ValueColor[ t ] := clRed;

Questo sistema va benissimo, però non mi va bene che, nel caso delle LineSeries, i singoli pezzi di spezzata vengono del colore del punto, mentre io vorrei solo il punto colorato diversamente. Per i PointSeries invece va bene.
[se qualcuno sa come ovviare me lo può dire ?]

Per ovviare al problema, ho deciso di disegnare sulle canvas dei TDBChart, una piccola
bitmap leggermente a destra dei punti per i quali ci sono quelle certe condizioni.
E così pure viene bene sia nel caso delle LineSeries che PointSeries.

Però adesso il problema è che la stampa del TBChart, con i suoi metodi PrintPartial
e PrintPartialCanvas, non stampa le bitmap aggiunte da me, ma solo il grafico.

Potrei aggiungere le bitmap disegnandole sul canvas della stampante, ma non
so come ottenere le coordinate sul canvas della stampante.

Qualche idea ?

Loading