VCL 的 Canvas.Pen 对应FMX: Canvas.Stroke;
VCL到 Canvas.Brush 对应FMX: Canvas.Fill.

TCircle 圆形控件

Inkscape 0.91

https://inkscape.org/en/download/windows/

点坐标的处理

PointF(150, 150)

TPointF.Create(300, 340);

LLayout.TopLeft := TPointF.Zero;

Position := Rect.TopLeft;

Position := Point(Rect.Right, Rect.Top);

MakeColor(r,g,b)

线条宽度

Canvas.Stroke.Thickness := 10;
Canvas.Stroke.Kind := TBrushKind.Solid;

直线

  1. procedure TForm1.FormPaint(Sender: TObject; Canvas: TCanvas;
  2. const ARect: TRectF);
  3. begin
  4. Canvas.Stroke.Color := TAlphaColorRec.Green;
  5. Self.Canvas.DrawLine(TPointF.Create(, ), TPointF.Create(, ), );
  6. end;

画圆

  1. Canvas.Fill.Color := TAlphaColorRec.Aqua;
  2. Canvas.FillEllipse(RectF(, , , ), );
  3. Canvas.FillEllipse(RectF(, , , ), );

TRectF.Create();

TPointF.create

多边形

DrawPolygon

Polygon

  1. procedure TForm1.DrawPolygonClick(Sender: TObject);
  2. var
  3. p1, p2, p3, p4, p5, p6: TPointF;
  4. MyPolygon: TPolygon; //System.Math.Vectors unit needed.
  5. begin
  6. // sets the points that define the polygon
  7. p1 := TPointF.Create(, );
  8. p2 := TPointF.Create(, );
  9. p3 := TPointF.Create(, );
  10. p4 := TPointF.Create(, );
  11. p5 := TPointF.Create(, );
  12. p6 := TPointF.Create(, );
  13. // creates the polygon
  14. SetLength(MyPolygon, );
  15. MyPolygon[] := p1;
  16. MyPolygon[] := p2;
  17. MyPolygon[] := p3;
  18. MyPolygon[] := p4;
  19. MyPolygon[] := p5;
  20. MyPolygon[] := p6;
  21. Image1.Bitmap.Canvas.BeginScene;
  22. // draws the polygon on the canvas
  23. Image1.Bitmap.Canvas.DrawPolygon(MyPolygon, );
  24. Image1.Bitmap.Canvas.EndScene;
  25. end;

TPointF

  1. TPointF = record
  2. class function Create(const AX, AY: Single): TPointF; overload; static; inline;
  3. class function Create(const APoint: TPoint): TPointF; overload; static; inline;
  4. class operator Add(const APoint1, APoint2: TPointF): TPointF;
  5. class operator Subtract(const APoint1, APoint2: TPointF): TPointF;
  6. class operator Equal(const APoint1, APoint2: TPointF): Boolean;
  7. class operator NotEqual(const APoint1, APoint2: TPointF): Boolean;
  8. class operator Implicit(const APoint: TPoint): TPointF;
  9. class operator Negative(const APoint: TPointF): TPointF;
  10. class operator Multiply(const APoint1, APoint2: TPointF): TPointF;
  11. class operator Multiply(const APoint: TPointF; const AFactor: Single): TPointF;
  12. class operator Multiply(const AFactor: Single; const APoint: TPointF): TPointF;
  13. class operator Divide(const APoint: TPointF; const AFactor: Single): TPointF;
  14. class function PointInCircle(const Point, Center: TPointF; const Radius: Integer): Boolean; static; inline;
  15. class function Zero: TPointF; inline; static;
  16. function Distance(const APoint: TPointF): Single;
  17. function CrossProduct(const APoint: TPointF): Single;
  18. function DotProduct(const APoint: TPointF): Single; inline;
  19. procedure Offset(const APoint: TPointF); overload; inline;
  20. procedure Offset(const ADeltaX, ADeltaY: Single); overload; inline;
  21. procedure Offset(const APoint: TPoint); overload; inline;
  22. procedure SetLocation(const X, Y: Single); overload; deprecated 'Use ":=" assignment instead';
  23. procedure SetLocation(const P: TPointF); overload; deprecated 'Use ":=" assignment instead';
  24. procedure SetLocation(const P: TPoint); overload; deprecated 'Use ":=" assignment instead';
  25. function Subtract(const Point: TPointF): TPointF; overload; deprecated 'Use TPointF.Offset instead';
  26. function Subtract(const Point: TPoint): TPointF; overload; deprecated 'Use TPointF.Offset instead';
  27. function Add(const Point: TPointF): TPointF; overload; deprecated 'Use TPointF.Offset instead';
  28. function Add(const Point: TPoint): TPointF; overload; deprecated 'Use TPointF.Offset instead';
  29. function Scale(const AFactor: Single): TPointF; deprecated;
  30. function EqualsTo(const Point: TPointF; const Epsilon: Single = ): Boolean;
  31. function IsZero: Boolean;
  32. function Ceiling: TPoint;
  33. function Truncate: TPoint;
  34. function Round: TPoint;
  35. function SnapToPixel(const AScale: Single; const APlaceBetweenPixels: Boolean = True): TPointF;
  36. function Normalize: TPointF;
  37. function Length: Single;
  38. function Rotate(const AAngle: Single): TPointF;
  39. function Reflect(const APoint: TPointF): TPointF; inline;
  40. function MidPoint(const APoint: TPointF): TPointF; inline;
  41. function AngleCosine(const APoint: TPointF): Single;
  42. function Angle(const APoint: TPointF): Single;
  43. case Integer of
  44. : (V: TPointFType;);
  45. : (X: Single;
  46. Y: Single;);
  47. end;

FireMoneky 画图 Point 赋值的更多相关文章

  1. 关于FireMonkey TGrid赋值的一点小研究

    FireMoneky的TStringGrid用法和VCL里面的差不多, 但是另一个TGrid实在是奇葩, 几乎找不到给单元格赋值的方法(除了使用LiveBind) 看了其源码, 发现只要给某个Colu ...

  2. python网络画图——networkX

    networkX tutorial 绘制基本网络图 用matplotlib绘制网络图 基本流程: 1. 导入networkx,matplotlib包 2. 建立网络 3. 绘制网络 nx.draw() ...

  3. 一行代码设置TForm颜色的前世今生(属性赋值引起函数调用,然后发消息实现改变显示效果),TForm的初始颜色在dfm中设置了clBtnFace色

    来自万一的帖子:http://www.cnblogs.com/del/archive/2008/04/27/1173658.html的确做到了一行代码设置TForm控件的颜色(一点感想:Delphi程 ...

  4. cocos2dx3.2 画图方法小修改之 C++ final学习

    今天用cocos2dx 3.2版本号学习画图功能,       于是我重载Node 的draw方法.发现报错, watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQ ...

  5. 1.1.3-学习Opencv与MFC混合编程之---画图工具 通过对话框进行工具的参数设置 画曲线 绘图校正

    源代码:http://download.csdn.net/detail/nuptboyzhb/3961688 l 对话框 1.“插入”->“资源”->“对话框” 2.对话框属性如下: 双击 ...

  6. ffplay.c函数结构简单分析(画图)

    最近重温了一下FFplay的源代码.FFplay是FFmpeg项目提供的播放器示例.尽管FFplay只是一个简单的播放器示例,它的源代码的量也是不少的.之前看代码,主要是集中于某一个"点&q ...

  7. 描点的改进:运用chart画图。

    主要是利用Chart画图: 通过选中一部分曲线进行图像的放大和缩小,最小值为1格. 先计算最大值和最小差值.然后赋值给AxisY.Minimum 和AxisY.Maximum.x轴初始显示数目:Axi ...

  8. NET简单的一个画图程序

    using System; using System.Drawing; //HttpUtility.UrlEncode /// <summary> ///Curve 的摘要说明 /// & ...

  9. vue父组件异步传递prop到子组件echarts画图问题踩坑总结

    效果图: 大致思路:考虑到5张图都是折线图,所以准备用一个子组件承接echarts画图,然后父组件通过prop传递不同数据来展示不同的图 踩坑问题: 1.引入line子组件,画了5个元素,但是只显示一 ...

随机推荐

  1. 微信小程序引入md5.js

    今天给大家安利一下微信小程序引入md5.js的方法,不多说 md5.js在下面 直接复制到项目的utils/md5.js即可 /* * A JavaScript implementation of t ...

  2. python原生的日志模块

    Python中有个logging模块可以完成相关信息的记录,在debug时用它往往事半功倍 1. 日志级别 日志一共分成5个等级,从低到高分别是: DEBUG INFO WARNING ERROR C ...

  3. 解决Eclipse中文乱码的问题

    注意:显示中文所有的编码方式主要是GBK和UTF-8,UTF-8是国际通用的中文编码标准,推荐使用. 一. 设置工作空间的编码 编辑器的编码会影响到所有的项目中的字符的显示,可以说是作用最为广泛的设置 ...

  4. 深度学习(七十一)darknet 源码阅读

    深度学习(七十一)darknet 源码阅读

  5. yaf 整理札记

    由于yaf只是一个web框架,只负责处理web请求之类的基本功能,相当简洁,连db库都没有.于是试着把zend 2.2的db库,form库,validator库与yaf结合,写了一个demo.因为ze ...

  6. 多目标跟踪baseline methods

    参考文献: MOTChallenge 2015: Towards a Benchmark for Multi-Target TrackingLaura Leal-Taix ´e, Anton Mila ...

  7. ZetCode PyQt4 tutorial widgets II

    #!/usr/bin/python # -*- coding: utf-8 -*- """ ZetCode PyQt4 tutorial In this example, ...

  8. vue.js中引入图片

    vue中引入图片 前言:vue中引入图片时,会显示不出来,除非在css中引入.而在template中或者js动态引入时,会显示不出图片. 解决一 图片通过后端返回引入网络图片路径即可. <div ...

  9. MyBatis的一对一

    1. 建立好工程后,在pom.xml中配置myBatis的依赖. <project xmlns="http://maven.apache.org/POM/4.0.0" xml ...

  10. BZOJ3296:Learning Languages(简单并查集)

    3296: [USACO2011 Open] Learning Languages Time Limit: 5 Sec  Memory Limit: 128 MBSubmit: 436  Solved ...