本文整理自网络,侵删。
在Delphi的老版本中,我们使用TCanvas画布类来实现画图操作,如画线、画圆、画矩形等。在DelphiXe3中的FireMonkey,HD以及3D应用程序中,如何通过自己编写代码来实现画图操作呢。
先来一睹为快
画布类TCanvas
画布类是FMX.Types.TCanvas,这是一个抽象类,不能直接实例化而使用。所以在上面的演示程序中,我们使用了TImage类,我们在TImage.Bitmap.Canvas这个画布上实现了画图操作。
1.TCanvas提供了如下画图方法
FMX.Types.TCanvas.DrawBitmap 画位图
FMX.Types.TCanvas.DrawArc 画弧形
FMX.Types.TCanvas.DrawEllipse 画椭圆
FMX.Types.TCanvas.DrawLine 画线
FMX.Types.TCanvas.DrawPath 画路径
FMX.Types.TCanvas.DrawPolygon 画多边形
FMX.Types.TCanvas.DrawRectSides 画矩形区域
2.TCanvas的禁制刷新方法
FMX.Types.TCanvas.BeginScene
FMX.Types.TCanvas.EndScene
这个类似于Delphi早期版本中的BeginUpdate,EndUpdate
3.画笔画刷
画布使用的画笔画刷对象是FMX.Types.TCanvas.Stroke,它是类FMX.Types.TStrokeBrush,他提供了一些属性来改变图形的表现形式。
4.画笔的宽度
FMX.Types.TStrokeBrush.Thickness
效果如下图
5.画笔的线形
FMX.Types.TStrokeBrush.Dash
取值如下:
TStrokeDash = (sdSolid,sdDash, sdDot, sdDashDot, sdDashDotDot, sdCustom);
具体含义:
sdSolid
实线.
sdDash
虚线.
sdDot
点线.
sdDashDot
点划线.
sdDashDotDot
点点划线.
sdCustom
自定义线性.
效果如下图
6.线端点现状
FMX.Types.TStrokeBrush.Cap
取值如下:
TStrokeCap = (scFlat, scRound);
具体含义:
scFlat
线端点是方形.
scRound
线端点是圆形.
效果如下图:
7.线连接形式
FMX.Types.TStrokeBrush.Join
取值如下:
TStrokeJoin = (sjMiter, sjRound, sjBevel);
具体含义:
sjMiter
斜接.
sjRound
圆接.
sjBevel
坡接.
效果如下图:
相关阅读 >>
Delphi 读取图像文件base64编码加载到image组件显示图片
Delphi 利用hook api函数openprocess与terminateprocess来防止任务管理器结束进程
Delphi twebbrowser 响应回车键(ewb响应正常,无需额外代码)
Delphi用twebbrowser组件在Delphi中post数据和取得网页源文件
更多相关阅读请进入《Delphi》频道 >>