Steema Issues Database

Note: This database is for bugs and wishes only. For technical support help, if you are a customer please visit our online forums;
otherwise you can use StackOverflow.
Before using this bug-tracker we recommend a look at this document, Steema Bug Fixing Policy.



Bug 2430

Summary: Export to Metafile doesn't work on FMX
Product: FireMonkey TeeChart Reporter: yeray alonso <yeray>
Component: ExportAssignee: yeray alonso <yeray>
Status: RESOLVED FIXED    
Severity: enhancement CC: js, yeray
Priority: ---    
Version: 32.210430   
Target Milestone: ---   
Hardware: PC   
OS: Windows   
Chart Series: --- Delphi / C++ Builder RAD IDE Version:

Description yeray alonso 2021-06-09 15:25:25 EDT
Exporting to Metafile works on VCL but not on FMX.

- FMX example:

uses FMXTee.Chart, FMXTee.Procs, FMXTee.Series;

var Chart1: TChart;

procedure TForm1.Button1Click(Sender: TObject);
const FileName='E:\tmp\exports\metafile_fmx.wmf';
begin
  Chart1.SaveToMetafile(FileName);
end;

procedure TForm1.Button2Click(Sender: TObject);
const FileName='E:\tmp\exports\metafile_fmx.emf';
begin
  Chart1.SaveToMetafileEnh(FileName);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Chart1:=TChart.Create(Self);
  Chart1.Parent:=Self;
  with TBarSeries(Chart1.AddSeries(TBarSeries)) do
  begin
    FillSampleValues;
    ColorEachPoint:=True;
  end;
end;

- VCL example:

uses VCLTee.Chart, VCLTee.TeeProcs, VCLTee.Series;

var Chart1: TChart;

procedure TForm2.Button1Click(Sender: TObject);
const FileName='E:\tmp\exports\metafile_vcl.wmf';
begin
  Chart1.SaveToMetafile(FileName);
end;

procedure TForm2.Button2Click(Sender: TObject);
const FileName='E:\tmp\exports\metafile_vcl.emf';
begin
  Chart1.SaveToMetafileEnh(FileName);
end;

procedure TForm2.FormCreate(Sender: TObject);
begin
  Chart1:=TChart.Create(Self);
  Chart1.Parent:=Self;
  with TBarSeries(Chart1.AddSeries(TBarSeries)) do
  begin
    FillSampleValues;
    ColorEachPoint:=True;
  end;
end;
Comment 1 Joachim Magera 2022-05-31 10:45:10 EDT
Chart1.SaveToMetafileEnh(FileName) using FMX creates a simple PNG file and not a vector-oriented EnhancedMetaFile EMF as expected!
Comment 2 yeray alonso 2022-09-23 06:17:15 EDT
VCL's export to metafile uses Vcl.Graphics.TMetafile from Embarcadero which isn't ported to FMX.

To make TeeCreateMetafile to work on FMX (and SaveToMetafile, SaveToMetafileEnh and SaveToMetafileRect) we made our own TMetafile class inheriting Fmx.Graphics.TBitmap.
Comment 3 Joachim Magera 2022-09-27 05:49:46 EDT
OK, thanks!

Which is the current version of TChart exporting to Fmx.Graphics.TBitmap?
Comment 4 yeray alonso 2022-09-27 07:37:30 EDT
As far as I see, TeeChart FMX uses Fmx.Graphics.TBitmap in TeeCreateMetafile at least since v2010.00.