(lazarus)在安卓中画一个chart
来源:互联网 发布:职场霸凌 知乎 编辑:程序博客网 时间:2024/05/26 02:55
基本步骤按照前面的说明:
用lazarus瞬间开发自己的安卓APP http://blog.csdn.net/bq_cui/article/details/43762659
画chart的步骤,按照 无需代码生成一个条形图 http://blog.csdn.net/bq_cui/article/details/43865369 以及相关的几篇文章。
主要的问题是,如果不需要反锯齿,laz4android中现有的控件直接就可满足使用。如果需要反锯齿,laz4android需要安装一下 ChartGUIConnectorBGRA控件。D:\laz4android\insPkg\tachart\chartbgra\tachartbgra.lpk 这个bao安装一下就好了。
unit mainform; {$mode objfpc}{$H+}{$ifdef CPUARM} {$define Android}{$endif}{.$define TEST_SQLITE}interfaceuses Classes, SysUtils, FileUtil, TAGraph, TASeries, TASources, Forms, Controls, Graphics, Dialogs, LCLProc, LCLType, LCLIntf, InterfaceBase, lazdeviceapis, Menus, ClipBrd, Buttons, ExtCtrls, StdCtrls, TAGUIConnectorBGRA, types;type TSubControl = class; { Tform1 } Tform1 = class(TForm) Button1: TButton; Chart1: TChart; ChartGUIConnectorBGRA1: TChartGUIConnectorBGRA; Panel1: TPanel; RandomChartSource1: TRandomChartSource; procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure FormPaint(Sender: TObject); procedure MenuItem1Click(Sender: TObject); private { private declarations } x, y, x1, y1, x3, y3: Double; FLine: TLineSeries; procedure InitLine; public { public declarations } SubControl: TSubControl; ClickCounter: Integer; procedure HandleMessageDialogFinished(Sender: TObject; AResult: Integer); procedure MyOnListViewDialogResult(ASelectedItem: Integer); end; { TSubControl } TSubControl = class(TCustomControl) public end;var form1: Tform1;implementationuses TATypes, TAChartUtils, ctypes //android_sockets, {$ifdef Android} ,jni,customdrawnint {$endif} ;{ TSubControl }{$R *.lfm}{ Tform1 }procedure TForm1.InitLine;begin FLine := TLineSeries.Create(Chart1); FLine.ShowLines := true; FLine.ShowPoints := true; FLine.Pointer.Style := psRectangle; FLine.Pointer.Brush.Color := clRed; FLine.Title := 'line'; FLine.SeriesColor := clGreen; //FLine.Depth:= 10; Chart1.AddSeries(FLine);end;procedure Tform1.FormCreate(Sender: TObject);begin //SubControl := TSubControl.Create(Self); //SubControl.Left := 40; //SubControl.Top := 160; //SubControl.Width := 50; //SubControl.Height := 50; //SubControl.Parent := Self; //OnListViewDialogResult := @MyOnListViewDialogResult;end;procedure Tform1.Button1Click(Sender: TObject);var i: integer;begin if FLine = nil then InitLine; FLine.ZPosition := 1; //BringToFront(FLine); //FLine.Marks.Style := TSeriesMarksStyle(cbMarkStyle.ItemIndex); //for i := 1 to edAddCount.Value do begin FLine.AddXY(x1, y1, '', clBlue); X1 := X1 + 1.5; if random(2) >= 0.5 then Y1 := Y1 + random(10) else Y1 := Y1 - random(5); //end;end;procedure Tform1.FormPaint(Sender: TObject);//var// lPoints: array[0..2] of TPoint;begin //Canvas.Brush.Color := clRed; //lPoints[0] := Point(67,57); //lPoints[1] := Point(11,29); //lPoints[2] := Point(67,1); //Canvas.Polygon(lPoints);{ Canvas.Brush.Color := clRed; Canvas.Rectangle(10, 10, 100, 100); Canvas.Brush.Color := clGreen; Canvas.Rectangle(100, 100, 200, 200); Canvas.Brush.Color := clBlue; Canvas.Rectangle(200, 200, 300, 300);}end;procedure Tform1.MenuItem1Click(Sender: TObject);begin DebugLn('[TForm1.MenuItem1Click]');end;procedure Tform1.HandleMessageDialogFinished(Sender: TObject; AResult: Integer);begin DebugLn(Format('[TForm1.HandleMessageDialogFinished] AResult=%d', [AResult]));end;procedure Tform1.MyOnListViewDialogResult(ASelectedItem: Integer);begin DebugLn(Format('[MyOnListViewDialogResult] ASelectedItem=%d', [ASelectedItem]));end;end.
a
0 0
- (lazarus)在安卓中画一个chart
- (lazarus)把chart画到canvas里面
- (lazarus)使chart文字具有阴影效果
- 为什么在chart图例总多出一个series1?
- (lazarus)用BGRABitmap对chart进行反锯齿,效果对比
- lazarus:一个字体引擎例子
- 在Lazarus中使用打印机
- LAZARUS
- (lazarus)无需代码生成一个条形图
- Free Pascal Lazarus在wince中的开发。
- (lazarus)避免把chart画到canvas导致图像闪烁的代码
- 在GWT中使用chart
- 一个开源的lazarus绘图软件:LazPaint
- [lazarus] 分享一个BMP图像平滑缩放的代码
- [lazarus] 分享一个BMP图像平滑缩放的代码
- lazarus:一个函数修改目录名(文件夹名)
- Lazarus在红旗6SP1上安装的准备工作
- Lazarus在红旗6SP1上的安装
- Java中接口里定义的成员变量
- 基于servlet的服务端与安卓客户端的通信(文本)
- poj 1459 网络流EK算法/ Dinic算法
- Oracle高级查询之GROUP BY
- Android_硬件加速
- (lazarus)在安卓中画一个chart
- ios-UIButton
- HTTP状态代码2XX、3XX、4XX、5XX分析
- cocos2d面试题
- 如何编写跨平台的C/C++代码
- MFC 查找宽字节和多字节字符串之间无法转换的字符
- Android SharedPreferencs基本使用
- 1644 - Prime Gap
- Linux常用命令(文件和目录)