Hi,
I have a problem with printing/export. Maybe it is quite simple, but i don't see the solution...
I have a TChart and a Chart on it. What is the best way to export a hires Image of the Chart for printing? Let's say the Chart is 600x400 Pixels on the screen but i want to have a 6x4 inch image on my printer with 600 DPI so I need a 3600x2400 pixel image. (I have an editor where this image will be inserted.)
I can use the Metafile, but the some of the enhanced effects are not exported. I can simply make a 3600x2400 TChart, but then the Fonts are way to small. Simply "blowing up" the 600x400 image makes poor quality. Do you have a solution? Thanks for your Help!
Andreas
Quality printing
Best Regards,
Yeray Alonso Development & Support Steema Software Av. Montilivi 33, 17003 Girona, Catalonia (SP) | |
Please read our Bug Fixing Policy |
Yes, thats all OK, thank you! I use the Metafile allready. But there are a few features that are not possible with Metafiles, right? Transparency and Antialiasing for example. I would like to use GDI+ (looks very smart and smooth!), but it is not possible to export the GDI+-Features to the printer or even to an editor, right? So it would be nice to have a feature to generate a hires image with printer-resolution (png of tiff or gif) of the chart.
Andreas
Andreas
Hello Andreas,
as you said, there's not a way to send directly GDI+ features to the printer, we'll consider it as a wish for further releases. But to be able to print Charts with transparency you can always generate a temporary metafile, copy the Chart to it and print directly from the metafile, ex :
Or you can always export to bmp, or print from bmp file.
as you said, there's not a way to send directly GDI+ features to the printer, we'll consider it as a wish for further releases. But to be able to print Charts with transparency you can always generate a temporary metafile, copy the Chart to it and print directly from the metafile, ex :
Code: Select all
procedure TForm1.Button1Click(Sender: TObject);
var tmpMeta: TMetaFile;
OldColor : TColor;
begin
Chart1.BevelOuter := bvNone;
OldColor := Chart1.Color;
Chart1.Color := clNone;
tmpMeta := Chart1.TeeCreateMetafile(true,Chart1.ClientRect);
try
Printer.Orientation := poLandscape;
Printer.BeginDoc;
try
Printer.Canvas.StretchDraw(Rect(1,1,Printer.PageWidth - 1,
Printer.PageHeight - 1),tmpMeta);
finally
Printer.EndDoc;
end;
finally
tmpMeta.Free;
Chart1.BevelOuter := bvRaised;
Chart1.Color := OldColor;
end;
end;
Pep Jorge
http://support.steema.com
http://support.steema.com