1

私は Steema Software と Delphi 6 の TeeChart Pro v7.06 を使用しています。私のプロジェクトには、TChart (BottomAxis.Automatic = False) と TChartScrollBar (スクロールする) があります。TChart には、TChart の幅に収まらないシリーズがいくつかあるため、TChartScrollBar を使用します。

グラフを TBitmap にエクスポートする必要があります。そして、私が知っている TChart のすべてのメソッドは、TChart の可視部分のみをエクスポートするため、その方法がわかりません!

表示部分だけでなく、TChart 全体をエクスポートする方法はありますか?

ありがとう!

4

2 に答える 2

2

ページング機能を使用している場合は、シリーズ全体を印刷するために一時的に無効にし、印刷後に再度リセットすることができます。たとえば、フォームに TChart、TChartScrollBar、および TButton があるとします。

uses Series, TeeEdit;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Chart1.View3D:=false;

  Chart1.AddSeries(TFastLineSeries).FillSampleValues(100);

  Chart1.Pages.MaxPointsPerPage:=10;

  ChartScrollBar1.Chart:=Chart1;
  ChartScrollBar1.Enabled:=true;
end;

procedure TForm1.Button1Click(Sender: TObject);
var tmpCount, tmpPage: Integer;
begin
  tmpCount:=Chart1.Pages.MaxPointsPerPage;
  tmpPage:=Chart1.Pages.Current;

  Chart1.Pages.MaxPointsPerPage:=Chart1[0].Count;

  with TChartPreviewer.Create(Self) do
  begin
    Chart:=Chart1;
    Execute;
  end;

  Chart1.Pages.MaxPointsPerPage:=tmpCount;
  Chart1.Pages.Current:=tmpPage;
end;
于 2012-01-09T10:10:23.370 に答える
1

グラフに多くのページがある場合は、tchart.createteebitmap 関数を使用して、すべてのページをスクロールするだけです。

たとえば(疑似コード)

For i:= 0 To chart.numpages-1 do
  Chart.pagenum := i;
  Chart.createteebitmap(bitmap);
End;

これにより、すべてのグラフ ページが個別のビットマップにエクスポートされます。必要なビットマップが 1 つだけの場合は、チャート キャンバスを手動でメタファイルにエクスポートしてから、プリンターに送信する必要があります。

于 2012-01-06T09:04:41.210 に答える