DelphiXe FireMonkey 如何画图


本文整理自网络,侵删。

 

在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获取桌面图标

Delphi vcl tmemo加速字符串读取

Delphi 利用hook api函数openprocess与terminateprocess来防止任务管理器结束进程

Delphi 一行关键代码阻止360云查杀

Delphi twebbrowser 响应回车键(ewb响应正常,无需额外代码)

Delphi 获取临时文件夹路径

Delphi用twebbrowser组件在Delphi中post数据和取得网页源文件

Delphi中调用http xml

Delphi 获取邮箱中的用户名

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...