DelphiXe3 FireMonkey 如何画图

简介: DelphiXe3 FireMonkey  如何画图         在Delphi的老版本中,我们使用TCanvas画布类来实现画图操作,如画线、画圆、画矩形等。

DelphiXe3 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

坡接.  

 

效果如下图:

 

 

 

 

相关文章
|
计算机视觉
AutoCAD *.dxf文件解析,使用dxflib搞定polyline/spline/ellipse等复杂图形(★firecat推荐★)
AutoCAD *.dxf文件解析,使用dxflib搞定polyline/spline/ellipse等复杂图形(★firecat推荐★)
1920 0
AutoCAD *.dxf文件解析,使用dxflib搞定polyline/spline/ellipse等复杂图形(★firecat推荐★)
EasyX趣味化编程note2,绘制基本图形(下)
EasyX趣味化编程note2,绘制基本图形(上)
156 0
|
程序员 API C语言
【c/c++】属于程序员的浪漫,基于easyx.h图形库实现3D Heart
【c/c++】属于程序员的浪漫,基于easyx.h图形库实现3D Heart
266 0
|
Python
Python 代码绘制航海王四皇大妈(BIG MOM) - 门卫大爷也能跟着学会的Turtle海龟绘图系列
Python 代码绘制航海王四皇大妈(BIG MOM) - 门卫大爷也能跟着学会的Turtle海龟绘图系列
167 0
|
Python
每日一练:Python代码绘制航海王草帽路飞,打饭阿姨也能跟着学会的Turtle海龟绘图系列
每日一练:Python代码绘制航海王草帽路飞,打饭阿姨也能跟着学会的Turtle海龟绘图系列
269 0
|
容器
Egret学习笔记 (Egret打飞机-5.实现子弹对象)
Egret学习笔记 (Egret打飞机-5.实现子弹对象)
119 0
turtle画树,递归来去,太好看了,我哭了
turtle画树,递归来去,太好看了,我哭了
123 0
turtle画树,递归来去,太好看了,我哭了
|
Python
考点:海龟画图turtle库的使用,绘制五角星、矩形等【Python习题09】
考点:海龟画图turtle库的使用,绘制五角星、矩形等【Python习题09】
484 0
考点:海龟画图turtle库的使用,绘制五角星、矩形等【Python习题09】
|
机器学习/深度学习 移动开发 JavaScript
番外 |使用ComplexHeatmap绘制围棋盘
番外 |使用ComplexHeatmap绘制围棋盘
142 0
番外 |使用ComplexHeatmap绘制围棋盘
|
C# vr&ar 图形学
【Unity3D 灵巧小知识点】 ☀️ | GetType和typeof的使用
Unity 小科普 老规矩,先介绍一下 Unity 的科普小知识: Unity是 实时3D互动内容创作和运营平台 。 包括游戏开发、美术、建筑、汽车设计、影视在内的所有创作者,借助 Unity 将创意变成现实。 Unity 平台提供一整套完善的软件解决方案,可用于创作、运营和变现任何实时互动的2D和3D内容,支持平台包括手机、平板电脑、PC、游戏主机、增强现实和虚拟现实设备。
【Unity3D 灵巧小知识点】 ☀️ | GetType和typeof的使用