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 - Export to Metafile doesn't work on FMX
Summary: Export to Metafile doesn't work on FMX
Status: RESOLVED FIXED
Alias: None
Product: FireMonkey TeeChart
Classification: Unclassified
Component: Export (show other bugs)
Version: 32.210430
Hardware: PC Windows
: --- enhancement
Target Milestone: ---
Assignee: yeray alonso
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-06-09 15:25 EDT by yeray alonso
Modified: 2022-09-27 07:37 EDT (History)
2 users (show)

See Also:
Chart Series: ---
Delphi / C++ Builder RAD IDE Version:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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.