2013/1/28 Leonardo M. Ramé <martinr...@yahoo.com> > [...] > Silvio, TAchart has a BGRABitmap backend mode, it creates great > anti-aliased graphics (both lines and text). I didn't tested on CGI without > linking against graphic libraries, I think it relies on TCanvas, so maybe > it won't work, but it worth a try. > > Leonardo M. Ramé > http://leonardorame.blogspot.com >
It works fine (see result here: http://imagebin.org/244612) in Win32 with this code: program noguidemo; {$mode objfpc}{$H+} uses Interfaces, Classes, FPCanvas, FPImage, FPImgCanv, TATools, TAGraph, TASeries, TADrawerCanvas, TADrawUtils, BGRABitmap, TAChartUtils, TADrawerBGRA; var chart: TChart; bs: TBarSeries; img: TBGRABitmap; d: IChartDrawer; begin chart := TChart.Create(nil); chart.LeftAxis.Marks.LabelFont.Name := 'Arial'; chart.LeftAxis.Marks.LabelFont.Size := 10; chart.LeftAxis.Marks.LabelFont.Orientation := 450; chart.LeftAxis.Marks.Frame.Visible := True; chart.LeftAxis.Marks.Frame.Style := psSolid; chart.LeftAxis.Marks.Frame.FPColor := colBlack; chart.LeftAxis.Grid.FPColor := colDkGray; chart.BottomAxis.Marks.Visible := False; chart.BottomAxis.Grid.FPColor := colDkGray; chart.Color := $FFA0A0; chart.BackColor := $FFFFFF; bs := TBarSeries.Create(nil); chart.AddSeries(bs); bs.AddXY(1, 10); bs.AddXY(2, 7); bs.AddXY(3, 8); img := TBGRABitmap.Create(chart.Width, chart.Height); d := TBGRABitmapDrawer.Create(img); img.CanvasBGRA.Font.Antialiasing := true; img.CanvasBGRA.Font.Name := 'Arial'; d.DoGetFontOrientation := @CanvasGetFontOrientationFunc; chart.Draw(d, Rect(0, 0, chart.Width, chart.Height)); img.SaveToFile('test.png'); img.Free; bs.Free; chart.Free; end. But, with NoGUI, the error is: C:\Users\silvioprog\Desktop\nogui>noguidemo.exe TRasterImage.BitmapHandleNeeded: Unable to create handles, using default [FORMS.PP] ExceptionOccurred Sender=EInvalidOperation Exception=Canvas does not allow drawing Stack trace: $004951D4 TCANVAS__REQUIREDSTATE, line 1672 of ./include/canvas.inc $004953F0 TCANVAS__TEXTEXTENT, line 1731 of ./include/canvas.inc $0060A29F GETFONTHEIGHTSIGN, line 236 of bgratext.pas $005BCEFA TBGRADEFAULTBITMAP__INIT, line 1684 of bgradefaultbitmap.pas $005B9DF6 TBGRADEFAULTBITMAP__CREATE, line 732 of bgradefaultbitmap.pas $00401B91 main, line 43 of noguidemo.lpr TApplication.HandleException Canvas does not allow drawing Stack trace: $004951D4 TCANVAS__REQUIREDSTATE, line 1672 of ./include/canvas.inc $004953F0 TCANVAS__TEXTEXTENT, line 1731 of ./include/canvas.inc $0060A29F GETFONTHEIGHTSIGN, line 236 of bgratext.pas $005BCEFA TBGRADEFAULTBITMAP__INIT, line 1684 of bgradefaultbitmap.pas $005B9DF6 TBGRADEFAULTBITMAP__CREATE, line 732 of bgradefaultbitmap.pas $00401B91 main, line 43 of noguidemo.lpr Exception at 004951D4: EInvalidOperation: Canvas does not allow drawing. C:\Users\silvioprog\Desktop\nogui> :( -- Silvio Clécio My public projects - github.com/silvioprog
_______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal